From c2c46515a214d21d4ee66296c62aa474b38d7460 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 30 Dec 2023 21:03:49 -0500 Subject: [PATCH 01/79] Improved models dirs, search & ui. --- README.md | 66 ++++++- __init__.py | 253 ++++++++++++++++++------- index.json | 109 ++++++++--- model-manager-demo-screenshot.png | Bin 0 -> 609762 bytes web/model-manager.css | 127 ++++++++++--- web/model-manager.js | 304 +++++++++++++++++------------- 6 files changed, 610 insertions(+), 249 deletions(-) create mode 100644 model-manager-demo-screenshot.png diff --git a/README.md b/README.md index 139f1ed..da7c1f4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,66 @@ # comfyui-model-manager -Manage models: browsing, donwload and delete. + +Browse models in ComfyUI. (Downloading and deleting are WIP.) + +![Model Manager Demo Screenshot](model-manager-demo-screenshot.png) + +## About this branch + +I made this branch because the original repo was inactive and missing things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet without asking for permission. + +## Branch Improvements + +- Search models in models tab. +- Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. +- Search `/`subdirectories of main directory based on your file structure (for example, `/1.5/styles`). +- Include models listed in `extra_model_paths.yaml`. +- Increased supported preview image types. +- Correctly change colors using ComfyUI's theme colors. +- Simplified UI. + +## TODO + +### One-click to add a model/node to workspace + +- ☐ Copy icon `📋` or plus icon `+`? +- ☐ Sidebar mode + - ☐ Drag to add? + +### Downloading tab + +- ☐ Replace Install tab with Downloading tab (more practical IMO). +- ☐ Download a model from a url. +- ☐ Choose save path in browser. + +### Search filtering and sort + +- ☐ Add auto-suggest paths in search +- ☐ Filters dropdown + - ☐ Stable Diffusion model version/Clip/Upscale/? + - ☐ Favorites +- ☐ Sort-by dropdown + - ☐ Date modified (ascending/decending) + - ☐ Date created (ascending/decending) + - ☐ Recently used (ascending/decending) + - ☐ Frequently used (ascending/decending) +- ☐ `or` vs `and` search keywords (currently `and`) + +### Settings + +- ☐ Exclude hidden folders with a `.` prefix. +- ☐ Include a optional string to always add to searches. +- ☐ Enable optional checksum to detect if a model is already downloaded. +- ☐ Add `settings.yaml` and add file to `.gitignore`. + +### Model info window/panel (server load/send on demand) + +- ☐ Info icon `ⓘ` +- ☐ Optional (re)download `📥︎`model info from the internet and cache the text file locally. (requires checksum enabled) +- ☐ Delete model with warning popup. + +### Image preview + +- ☐ Support multiple preview images (swipe?). +- ☐ Show preview images for videos. + - ☐ If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. + - ☐ Play preview video? diff --git a/__init__.py b/__init__.py index e430f06..583b824 100644 --- a/__init__.py +++ b/__init__.py @@ -1,106 +1,229 @@ +import os +import sys +import hashlib from aiohttp import web import server -import os +import urllib.parse +import struct +import json +import requests +import folder_paths + +requests.packages.urllib3.disable_warnings() + +def folder_paths_get_supported_pt_extensions(folder_name): # Missing api function. + return folder_paths.folder_names_and_paths[folder_name][1] -model_uri = os.path.join(os.getcwd(), "models") -extension_uri = os.path.join(os.getcwd(), "custom_nodes/ComfyUI-Model-Manager") +comfyui_model_uri = os.path.join(os.getcwd(), "models") +extension_uri = os.path.join(os.getcwd(), "custom_nodes" + os.path.sep + "ComfyUI-Model-Manager") +index_uri = os.path.join(extension_uri, "index.json") +#checksum_cache_uri = os.path.join(extension_uri, "checksum_cache.txt") +no_preview_image = os.path.join(extension_uri, "no-preview.png") -model_type_dir_dict = { - "checkpoint": "checkpoints", - "clip": "clip", - "clip_vision": "clip_vision", - "controlnet": "controlnet", - "diffuser": "diffusers", - "embedding": "embeddings", - "gligen": "gligen", - "hypernetwork": "hypernetworks", - "lora": "loras", - "style_models": "style_models", - "unet": "unet", - "upscale_model": "upscale_models", - "vae": "vae", - "vae_approx": "vae_approx", -} +image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") +#video_extensions = (".avi", ".mp4", ".webm") # TODO: Requires ffmpeg or cv2. Cache preview frame? + +#hash_buffer_size = 4096 + +def get_safetensor_header(path): + try: + with open(path, "rb") as f: + length_of_header = struct.unpack("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 z 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

    PccGZjAADdcr6R% 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

    `vaB%lV;};hM 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�>De|` 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%0DKm?bj>kTBlGk3CuzzG~g#huq5T3M# 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 Zv%iem0HxPrd)+s#8&nseQ=?@c@n8EH_QC)F literal 0 HcmV?d00001 diff --git a/web/model-manager.css b/web/model-manager.css index 984bdc8..622dc85 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -1,8 +1,9 @@ /* comfy table */ .comfy-table { width: 100%; - table-layout: fixed; - border-collapse: collapse; + table-layout: auto; + border-collapse: separate; + border-spacing: 0; } .comfy-table .table-head tr { @@ -11,36 +12,36 @@ /* comfy tabs */ .comfy-tabs { - color: #fff; + color: var(--fg-color); } .comfy-tabs-head { display: flex; gap: 8px; flex-wrap: wrap; - border-bottom: 1px solid #6a6a6a; + border-bottom: 2px solid var(--border-color); } .comfy-tabs-head .head-item { padding: 8px 12px; - border: 1px solid #6a6a6a; + border: 2px solid var(--border-color); border-bottom: none; border-top-left-radius: 8px; border-top-right-radius: 8px; cursor: pointer; - margin-bottom: -1px; + margin-bottom: 0px; } .comfy-tabs-head .head-item.active { - background-color: #2e2e2e; + background-color: var(--comfy-input-bg); cursor: default; position: relative; z-index: 1; } .comfy-tabs-body { - background-color: #2e2e2e; - border: 1px solid #6a6a6a; + background-color: var(--comfy-input-bg); + border: 2px solid var(--border-color); border-top: none; padding: 16px 0px; } @@ -58,21 +59,42 @@ height: 345px; text-align: center; overflow: hidden; + border-radius: 8px; } .comfy-grid .item img { width: 100%; height: 100%; - object-fit: contain; + object-fit: cover; } -.comfy-grid .item p { - position: absolute; - bottom: 0px; - background-color: #000a; - width: 100%; - margin: 0; - padding: 9px 0px; +.comfy-grid .item div { + background-color: #000a; + width: 100%; + height: 2.2rem; + position: absolute; + bottom: 0; + text-align: center; + line-height: 2.2rem; +} + +.comfy-grid .item div > p { + width: calc(100% - 2rem); + overflow-x: scroll; + white-space: nowrap; + display: inline-block; + vertical-align: middle; + margin: 0; +} + +.comfy-grid .item div { + scrollbar-width: none; + -ms-overflow-style: none; +} + +.comfy-grid .item div ::-webkit-scrollbar { + width: 0; + height: 0; } /* comfy radio group */ @@ -87,12 +109,26 @@ gap: 4px; padding: 4px 8px; color: var(--input-text); - border: 1px solid var(--border-color); + border: 2px solid var(--comfy-input-bg); border-radius: 8px; background-color: var(--comfy-input-bg); font-size: 18px; } +.comfy-radio:has(> input[type="radio"]:checked) { + border-color: var(--border-color); + background-color: var(--comfy-menu-bg); +} + +.comfy-radio input[type="radio"]:checked + label { + color: var(--fg-color); +} + +.radio-input { + opacity: 0; + position: absolute; +} + /* model manager */ .model-manager { box-sizing: border-box; @@ -101,7 +137,7 @@ max-width: unset; max-height: unset; padding: 10px; - color: #fff; + color: var(--bg-color); z-index: 2000; } @@ -116,12 +152,13 @@ .model-manager input { padding: 4px 8px; margin: 0; + border: 2px solid var(--border-color); } .model-manager button:disabled, .model-manager select:disabled, .model-manager input:disabled { - background-color: #6a6a6a; + background-color: var(--comfy-menu-bg); filter: brightness(1.2); cursor: not-allowed; } @@ -136,7 +173,7 @@ } .model-manager ::-webkit-scrollbar { - width: 6px; + width: 16px; } .model-manager ::-webkit-scrollbar-track { @@ -150,6 +187,23 @@ border-radius: 3px; } +.model-manager .search-text-area::-webkit-input-placeholder { + font-style: italic; +} +.model-manager .search-text-area:-moz-placeholder { + font-style: italic; +} +.model-manager .search-text-area::-moz-placeholder { + font-style: italic; +} +.model-manager .search-text-area:-ms-input-placeholder { + font-style: italic; +} + +.icon-button { + aspect-ratio: 1; +} + /* model manager row */ .model-manager .row { display: flex; @@ -173,7 +227,7 @@ position: relative; max-height: 100%; padding: 0 16px; - overflow-x: hidden; + overflow-x: auto; } /* model manager special */ @@ -189,18 +243,33 @@ padding-top: 2px; margin-top: -2px; padding-bottom: 18px; - margin-bottom: -2px; - top: 0px; - background-color: #2e2e2e; + margin-bottom: 1px; + top: -1px; + background-color: var(--comfy-input-bg); z-index: 1; } +.model-manager [data-name="Install"] input { + flex-grow: 1; + overflow-x: clip; +} + .model-manager .table-head { - position: sticky; - top: 52px; + position: sticky; + top: 116px; z-index: 1; } -.model-manager div[data-name="Model List"] .row { - align-items: flex-start; +.model-manager .tab-header { + display: block; +} + +.model-manager .tab-header-flex-block { + width: 100%; +} + +.model-manager .search-text-area, +.model-manager .source-text-area, +.model-manager .model-type-dropdown { + flex: 1; } diff --git a/web/model-manager.js b/web/model-manager.js index 246d8a4..fcc66c1 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -185,10 +185,12 @@ class Grid { this.element, this.#dataSource.map((item) => { const uri = item.post ?? "no-post"; - const imgUrl = `/model-manager/imgPreview?uri=${uri}`; + const imgUrl = `/model-manager/image-preview?uri=${uri}`; return $el("div.item", {}, [ $el("img", { src: imgUrl }), - $el("p", [item.name]), + $el("div", {}, [ + $el("p", [item.name]) + ]), ]); }) ); @@ -247,16 +249,16 @@ class ModelManager extends ComfyDialog { #el = { loadSourceBtn: null, - loadSourceFromSelect: null, loadSourceFromInput: null, sourceInstalledFilter: null, sourceContentFilter: null, sourceFilterBtn: null, modelTypeSelect: null, + modelContentFilter: null, }; #data = { - sourceList: [], + sources: [], models: {}, }; @@ -270,14 +272,14 @@ class ModelManager extends ComfyDialog { { parent: document.body }, [ $el("div.comfy-modal-content", [ - $el("button.close", { - textContent: "X", + $el("button.close.icon-button", { + textContent: "✕", onclick: () => this.close(), }), $tabs([ - $tab("Source Install", this.#createSourceInstall()), - $tab("Customer Install", []), - $tab("Model List", this.#createModelList()), + $tab("Install", this.#createSourceInstall()), + $tab("Models", this.#createModelList()), + $tab("Settings", []), ]), ]), ] @@ -295,58 +297,44 @@ class ModelManager extends ComfyDialog { this.#createSourceList(); return [ - $el("div.row", [ - $el("button", { - type: "button", - textContent: "Load From", - $: (el) => (this.#el.loadSourceBtn = el), - onclick: () => this.#refreshSourceList(), - }), - $el( - "select", - { - $: (el) => (this.#el.loadSourceFromSelect = el), - onchange: (e) => { - const val = e.target.val; - this.#el.loadSourceFromInput.disabled = - val === "Local Source"; + $el("div.row.tab-header", [ + $el("div.row.tab-header-flex-block", [ + $el("button.icon-button", { + type: "button", + textContent: "⟳", + $: (el) => (this.#el.loadSourceBtn = el), + onclick: () => this.#refreshSourceList(), + }), + $el("input.source-text-area", { + $: (el) => (this.#el.loadSourceFromInput = el), + placeholder: "https://ComfyUI-Model-Manager/index.json", + }), + ]), + $el("div.row.tab-header-flex-block", [ + $el("input.search-text-area", { + $: (el) => (this.#el.sourceContentFilter = el), + placeholder: "example: \"sd_xl\" -vae", + onkeyup: (e) => e.key === "Enter" && this.#filterSourceList(), + }), + $el( + "select", + { + $: (el) => (this.#el.sourceInstalledFilter = el), + style: { width: 0 }, + onchange: () => this.#filterSourceList(), }, - }, - [ - $el("option", ["Local Source"]), - $el("option", ["Web Source"]), - ] - ), - $el("input", { - $: (el) => (this.#el.loadSourceFromInput = el), - value: "https://github.com/hayden-fr/ComfyUI-Model-Manager/blob/main/index.json", - style: { flex: 1 }, - disabled: true, - }), - $el("div", { style: { width: "50px" } }), - $el( - "select", - { - $: (el) => (this.#el.sourceInstalledFilter = el), - onchange: () => this.#filterSourceList(), - }, - [ - $el("option", ["Filter: All"]), - $el("option", ["Installed"]), - $el("option", ["Non-Installed"]), - ] - ), - $el("input", { - $: (el) => (this.#el.sourceContentFilter = el), - placeholder: "Input search keyword", - onkeyup: (e) => - e.code === "Enter" && this.#filterSourceList(), - }), - $el("button", { - type: "button", - textContent: "Search", - onclick: () => this.#filterSourceList(), - }), + [ + $el("option", ["Filter: All"]), + $el("option", ["Downloaded"]), + $el("option", ["Not Downloaded"]), + ] + ), + $el("button.icon-button", { + type: "button", + textContent: "🔍︎", + onclick: () => this.#filterSourceList(), + }), + ]), ]), this.#sourceList.element, ]; @@ -387,7 +375,7 @@ class ModelManager extends ComfyDialog { return $el("button.block", { type: "button", disabled: installed, - textContent: installed ? "Installed" : "Install", + textContent: installed ? "✓︎" : "📥︎", onclick: async (e) => { e.disabled = true; const response = await this.#request( @@ -397,7 +385,6 @@ class ModelManager extends ComfyDialog { body: JSON.stringify(record), } ); - console.log(response); e.disabled = false; }, }); @@ -410,40 +397,58 @@ class ModelManager extends ComfyDialog { async #refreshSourceList() { this.#el.loadSourceBtn.disabled = true; - this.#el.loadSourceFromSelect.disabled = true; - const sourceType = this.#el.loadSourceFromSelect.value; - const webSource = this.#el.loadSourceFromInput.value; - const uri = sourceType === "Local Source" ? "local" : webSource; + const source = this.#el.loadSourceFromInput.value; + const uri = (source === "https://ComfyUI-Model-Manager/index.json") || (source === "") ? "local" : source; const dataSource = await this.#request( `/model-manager/source?uri=${uri}` ).catch(() => []); - this.#data.sourceList = dataSource; + this.#data.sources = dataSource; this.#sourceList.setData(dataSource); this.#el.sourceInstalledFilter.value = "Filter: All"; this.#el.sourceContentFilter.value = ""; this.#el.loadSourceBtn.disabled = false; - this.#el.loadSourceFromSelect.disabled = false; } - #filterSourceList() { - const installedType = this.#el.sourceInstalledFilter.value; - /** @type {Array} */ - const content = this.#el.sourceContentFilter.value - .split(" ") - .map((item) => item.toLowerCase()) - .filter(Boolean); +#filterSourceList() { + /** @type {Array} */ + const content = this.#el.sourceContentFilter.value + .replace("*", " ") + .split(/(-?".*?"|[^\s"]+)+/g) + .map((item) => item + .trim() + .replace(/(?:'|")+/g, "") + .toLowerCase() // TODO: Quotes should be exact? + ) + .filter(Boolean); - const newDataSource = this.#data.sourceList.filter((row) => { - const filterField = ["type", "name", "base", "description"]; - const rowContent = filterField - .reduce((memo, field) => memo + " " + row[field], "") - .toLowerCase(); - return content.reduce((memo, target) => { - return memo && rowContent.includes(target); - }, true); - }); + const installedType = this.#el.sourceInstalledFilter.value; + const newDataSource = this.#data.sources.filter((row) => { + if (installedType !== "Filter: All") { + if ((installedType === "Downloaded" && !row["installed"]) || + (installedType === "Not Downloaded" && row["installed"])) { + return false; + } + } + + let filterField = ["type", "name", "base", "description"]; + const rowText = filterField + .reduce((memo, field) => memo + " " + row[field], "") + .toLowerCase(); + return content.reduce((memo, target) => { + const excludeTarget = target[0] === "-"; + if (excludeTarget && target.length === 1) { return memo; } + const filteredTarget = excludeTarget ? target.slice(1) : target; + const regexSHA256 = /^[a-f0-9]{64}$/gi; + if (row["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { + return memo && excludeTarget !== (filteredTarget === row["SHA256"]); + } + else { + return memo && excludeTarget !== rowText.includes(filteredTarget); + } + }, true); + }); this.#sourceList.setData(newDataSource); } @@ -456,34 +461,51 @@ class ModelManager extends ComfyDialog { this.#modelList = gridInstance; return [ - $el("div.row", [ - $radioGroup({ - $: (el) => (this.#el.modelTypeSelect = el), - name: "model-type", - onchange: () => this.#updateModelList(), - options: [ - { value: "checkpoints" }, - { value: "clip" }, - { value: "clip_vision" }, - { value: "controlnet" }, - { value: "diffusers" }, - { value: "embeddings" }, - { value: "gligen" }, - { value: "hypernetworks" }, - { value: "loras" }, - { value: "style_models" }, - { value: "unet" }, - { value: "upscale_models" }, - { value: "vae" }, - { value: "vae_approx" }, - ], - }), - $el("button", { - type: "button", - textContent: "Refresh", - style: { marginLeft: "auto" }, - onclick: () => this.#refreshModelList(), - }), + $el("div.row.tab-header", [ + $el("div.row.tab-header-flex-block", + [ + $el("button.icon-button", { + type: "button", + textContent: "⟳", + onclick: () => this.#refreshModelList(), + }), + $el("select.model-type-dropdown", + { + $: (el) => (this.#el.modelTypeSelect = el), + name: "model-type", + onchange: () => this.#filterModelList(), + }, + [ + $el("option", ["checkpoints"]), + $el("option", ["clip"]), + $el("option", ["clip_vision"]), + $el("option", ["controlnet"]), + $el("option", ["diffusers"]), + $el("option", ["embeddings"]), + $el("option", ["gligen"]), + $el("option", ["hypernetworks"]), + $el("option", ["loras"]), + $el("option", ["style_models"]), + $el("option", ["unet"]), + $el("option", ["upscale_models"]), + $el("option", ["vae"]), + $el("option", ["vae_approx"]), + ] + ), + ] + ), + $el("div.row.tab-header-flex-block", [ + $el("input.search-text-area", { + $: (el) => (this.#el.modelContentFilter = el), + placeholder: "example: 1.5/styles -.pt", + onkeyup: (e) => e.key === "Enter" && this.#filterModelList(), + }), + $el("button.icon-button", { + type: "button", + textContent: "🔍︎", + onclick: () => this.#filterModelList(), + }), + ]), ]), gridInstance.element, ]; @@ -492,13 +514,42 @@ class ModelManager extends ComfyDialog { async #refreshModelList() { const dataSource = await this.#request("/model-manager/models"); this.#data.models = dataSource; - this.#updateModelList(); + this.#filterModelList(); } - #updateModelList() { - const type = this.#el.modelTypeSelect.value; - const list = this.#data.models[type]; - this.#modelList.setData(list); + #filterModelList() { + /** @type {Array} */ + const content = this.#el.modelContentFilter.value + .replace("*", " ") + .split(/(-?".*?"|[^\s"]+)+/g) + .map((item) => item + .trim() + .replace(/(?:'|")+/g, "") + .toLowerCase() // TODO: Quotes should be exact? + ) + .filter(Boolean); + + const modelType = this.#el.modelTypeSelect.value; + + const newDataSource = this.#data.models[modelType].filter((modelInfo) => { + const filterField = ["name", "path"]; + const modelText = filterField + .reduce((memo, field) => memo + " " + modelInfo[field], "") + .toLowerCase(); + return content.reduce((memo, target) => { + const excludeTarget = target[0] === "-"; + if (excludeTarget && target.length === 1) { return memo; } + const filteredTarget = excludeTarget ? target.slice(1) : target; + const regexSHA256 = /^[a-f0-9]{64}$/gi; + if (modelInfo["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { + return memo && excludeTarget !== (filteredTarget === modelInfo["SHA256"]); + } + else { + return memo && excludeTarget !== modelText.includes(filteredTarget); + } + }, true); + }); + this.#modelList.setData(newDataSource); } } @@ -516,7 +567,8 @@ function getInstance() { app.registerExtension({ name: "Comfy.ModelManager", - + init() { + }, async setup() { $el("link", { parent: document.head, @@ -524,13 +576,13 @@ app.registerExtension({ href: "./extensions/ComfyUI-Model-Manager/model-manager.css", }); - $el("button", { - parent: document.querySelector(".comfy-menu"), - textContent: "Models", - style: { order: 1 }, - onclick: () => { - getInstance().show(); - }, - }); + app.ui.menuContainer.appendChild( + $el("button", { + id: "comfyui-model-manager-button", + parent: document.querySelector(".comfy-menu"), + textContent: "Models", + onclick: () => { getInstance().show(); }, + }) + ); }, }); From efc1da358f701d5c43516caa3f38670fee26e921 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 30 Dec 2023 21:08:41 -0500 Subject: [PATCH 02/79] wording --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da7c1f4..601d6a3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Browse models in ComfyUI. (Downloading and deleting are WIP.) ## About this branch -I made this branch because the original repo was inactive and missing things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet without asking for permission. +I made this branch because the original repo was inactive and missing things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. ## Branch Improvements From cda5b066e907f04550c5321ef84cfdcd041dcd2e Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 30 Dec 2023 21:20:01 -0500 Subject: [PATCH 03/79] Minor edits --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 601d6a3..8dad96a 100644 --- a/README.md +++ b/README.md @@ -4,33 +4,33 @@ Browse models in ComfyUI. (Downloading and deleting are WIP.) ![Model Manager Demo Screenshot](model-manager-demo-screenshot.png) -## About this branch +## About this fork -I made this branch because the original repo was inactive and missing things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. +I made this fork because the original repo was inactive and missing many things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. -## Branch Improvements +## Fork Improvements - Search models in models tab. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. -- Search `/`subdirectories of main directory based on your file structure (for example, `/1.5/styles`). -- Include models listed in `extra_model_paths.yaml`. +- Search `/`subdirectories of base model directories based on your file structure (for example, `/1.5/styles`). +- Include models listed in ComfyUI's `extra_model_paths.yaml`. - Increased supported preview image types. - Correctly change colors using ComfyUI's theme colors. - Simplified UI. -## TODO +## TODO: ### One-click to add a model/node to workspace -- ☐ Copy icon `📋` or plus icon `+`? +- ☐ Add icon `+`? (Copy icon `⎘`?) - ☐ Sidebar mode - - ☐ Drag to add? + - ☐ Drag to add to workspace? ### Downloading tab - ☐ Replace Install tab with Downloading tab (more practical IMO). - ☐ Download a model from a url. -- ☐ Choose save path in browser. +- ☐ Choose save path to download within browser. ### Search filtering and sort @@ -43,7 +43,7 @@ I made this branch because the original repo was inactive and missing things I n - ☐ Date created (ascending/decending) - ☐ Recently used (ascending/decending) - ☐ Frequently used (ascending/decending) -- ☐ `or` vs `and` search keywords (currently `and`) +- ☐ `or` vs `and` type of keyword search (currently `and`) ### Settings @@ -54,13 +54,13 @@ I made this branch because the original repo was inactive and missing things I n ### Model info window/panel (server load/send on demand) -- ☐ Info icon `ⓘ` -- ☐ Optional (re)download `📥︎`model info from the internet and cache the text file locally. (requires checksum enabled) +- ☐ Info icon `ⓘ` button to view. +- ☐ Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - ☐ Delete model with warning popup. ### Image preview -- ☐ Support multiple preview images (swipe?). +- ☐ Support multiple preview images. (swipe?) - ☐ Show preview images for videos. - ☐ If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. - ☐ Play preview video? From cc7f463f914f14343ea33444b4134663101f03fa Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 30 Dec 2023 21:31:11 -0500 Subject: [PATCH 04/79] Wording of search paths --- README.md | 4 +++- web/model-manager.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8dad96a..0ba192b 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,13 @@ Browse models in ComfyUI. (Downloading and deleting are WIP.) I made this fork because the original repo was inactive and missing many things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. +Currently it is still missing some features it should have. + ## Fork Improvements - Search models in models tab. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. -- Search `/`subdirectories of base model directories based on your file structure (for example, `/1.5/styles`). +- Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). - Include models listed in ComfyUI's `extra_model_paths.yaml`. - Increased supported preview image types. - Correctly change colors using ComfyUI's theme colors. diff --git a/web/model-manager.js b/web/model-manager.js index fcc66c1..0fabd76 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -497,7 +497,7 @@ class ModelManager extends ComfyDialog { $el("div.row.tab-header-flex-block", [ $el("input.search-text-area", { $: (el) => (this.#el.modelContentFilter = el), - placeholder: "example: 1.5/styles -.pt", + placeholder: "example: styles/clothing -.pt", onkeyup: (e) => e.key === "Enter" && this.#filterModelList(), }), $el("button.icon-button", { From 3983873591d2223d29c683cc3a3f0f3b54d13c64 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 3 Jan 2024 06:58:25 -0500 Subject: [PATCH 05/79] copy to clipboard, drag to add, sidebar modes --- README.md | 18 +- __init__.py | 3 +- web/model-manager.css | 74 ++++++- web/model-manager.js | 461 ++++++++++++++++++++++++++++-------------- 4 files changed, 393 insertions(+), 163 deletions(-) diff --git a/README.md b/README.md index 0ba192b..18f35e7 100644 --- a/README.md +++ b/README.md @@ -16,23 +16,21 @@ Currently it is still missing some features it should have. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. - Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). - Include models listed in ComfyUI's `extra_model_paths.yaml`. +- Button to copy a model to the ComfyUI clipboard. (Embedding cannot be copied to the system clipboard with an http connection.) +- Right, left and bottom toggleable sidebar modes. +- Drag model to graph to add or existing node to set model. +- Drag embedding to textarea to append. - Increased supported preview image types. - Correctly change colors using ComfyUI's theme colors. - Simplified UI. ## TODO: -### One-click to add a model/node to workspace - -- ☐ Add icon `+`? (Copy icon `⎘`?) -- ☐ Sidebar mode - - ☐ Drag to add to workspace? - ### Downloading tab - ☐ Replace Install tab with Downloading tab (more practical IMO). - ☐ Download a model from a url. -- ☐ Choose save path to download within browser. +- ☐ Choose save path/directory to download within vaild model directories. (Alert Yes/No if need to create new dirs?) ### Search filtering and sort @@ -49,10 +47,14 @@ Currently it is still missing some features it should have. ### Settings +- ☐ Add `settings.yaml` and add file to `.gitignore`. - ☐ Exclude hidden folders with a `.` prefix. - ☐ Include a optional string to always add to searches. - ☐ Enable optional checksum to detect if a model is already downloaded. -- ☐ Add `settings.yaml` and add file to `.gitignore`. +- ☐ Change copy icon to an add icon `✚`. +- ☐ Allow user to drag width of sidebar or height of bottom bar and remember it. +- ☐ Hide/Show model extension. +- ☐ Optionally remove embedding extension. ### Model info window/panel (server load/send on demand) diff --git a/__init__.py b/__init__.py index 583b824..6715c57 100644 --- a/__init__.py +++ b/__init__.py @@ -212,7 +212,8 @@ async def load_download_models(request): name, _ = os.path.splitext(model) item = { "name": name, - "path": os.path.join(model_type, rel_path, model).replace(os.path.sep, "/"), + "search-path": os.path.join(model_type, rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack + "path": os.path.join(rel_path, model), } if image is not None: raw_post = os.path.join(model_type, str(base_path_index), rel_path, image) diff --git a/web/model-manager.css b/web/model-manager.css index 622dc85..dac618f 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -55,8 +55,10 @@ .comfy-grid .item { position: relative; - width: 230px; - height: 345px; + aspect-ratio: 2/3; + max-width: 230px; + /*width: 230px;*/ + /*height: 345px;*/ text-align: center; overflow: hidden; border-radius: 8px; @@ -97,6 +99,39 @@ height: 0; } +.comfy-grid .item .model-preview-overlay { + top: 0; + left: 0; + height: 100%; + width: 100%; + background-color: rgba(0, 0, 0, 0); +} + +.comfy-grid .copy-model-button { + position: absolute; + top: 8px; + right: 8px; + opacity: 0.65; +} + +.comfy-grid .copy-model-button:hover { + opacity: 1; +} + +button.icon-button.copy-model-button.copy-alert-success { + color: green; + border-color: green; +} + +button.icon-button.copy-model-button.copy-alert-fail { + color: darkred; + border-color: darkred; +} + +.comfy-grid .model-label { + user-select: text; +} + /* comfy radio group */ .comfy-radio-group { display: flex; @@ -141,6 +176,21 @@ z-index: 2000; } +.model-manager.sidebar-left { + width: 50%; + left: 25%; +} + +.model-manager.sidebar-bottom { + height: 50%; + top: 75%; +} + +.model-manager.sidebar-right { + width: 50%; + left: 75%; +} + .model-manager .comfy-modal-content { width: 100%; gap: 16px; @@ -201,7 +251,9 @@ } .icon-button { - aspect-ratio: 1; + height: 40px; + width: 40px; + line-height: 1.15; } /* model manager row */ @@ -231,13 +283,25 @@ } /* model manager special */ -.model-manager .close { +.model-manager .topbar-buttons { position: absolute; - padding: 1px 6px; + display: flex; top: 10px; right: 10px; } +.model-manager .topbar-buttons button { + width: 33px; + height: 33px; + padding: 1px 6px; +} + +.model-manager .sidebar-buttons { + overflow: hidden; + padding-right: 10px; + color: var(--input-text); +} + .model-manager .row { position: sticky; padding-top: 2px; diff --git a/web/model-manager.js b/web/model-manager.js index 0fabd76..daba9e7 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -2,16 +2,55 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; import { ComfyDialog, $el } from "../../scripts/ui.js"; -function debounce(func, delay) { - let timer; - return function () { - clearTimeout(timer); - timer = setTimeout(() => { - func.apply(this, arguments); +function debounce(callback, delay) { + let timeoutId = null; + return (...args) => { + window.clearTimeout(timeoutId); + timeoutId = window.setTimeout(() => { + callback(...args); }, delay); }; } +function request(url, options) { + return new Promise((resolve, reject) => { + api.fetchApi(url, options) + .then((response) => response.json()) + .then(resolve) + .catch(reject); + }); +} + +function modelNodeType(modelType) { + if (modelType === "checkpoints") return "CheckpointLoaderSimple"; + else if (modelType === "clip") return "CLIPLoader"; + else if (modelType === "clip_vision") return "CLIPVisionLoader"; + else if (modelType === "controlnet") return "ControlNetLoader"; + else if (modelType === "diffusers") return "DiffusersLoader"; + else if (modelType === "embeddings") return "Embedding"; + else if (modelType === "gligen") return "GLIGENLoader"; + else if (modelType === "hypernetworks") return "HypernetworkLoader"; + else if (modelType === "loras") return "LoraLoader"; + else if (modelType === "style_models") return "StyleModelLoader"; + else if (modelType === "unet") return "UNETLoader"; + else if (modelType === "upscale_models") return "UpscaleModelLoader"; + else if (modelType === "vae") return "VAELoader"; + else if (modelType === "vae_approx") return undefined; + else { console.warn(`ModelType ${modelType} unrecognized.`); return undefined; } +} + +function modelWidgetIndex(nodeType) { + return 0; +} + +function pathToEmbeddingString(path, removeExtension = false) { + const i = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1; + if (removeExtension) { + // TODO: setting.remove_extension_embedding + } + return "(embedding:" + path.slice(i) + ":1.0)"; +} + class Tabs { /** @type {Record} */ #head = {}; @@ -87,7 +126,7 @@ function $tab(name, el) { return $el("div", { dataset: { name } }, el); } -class List { +class SourceList { /** * @typedef Column * @prop {string} title @@ -163,39 +202,180 @@ class List { }) ); } + + filterList(list, searchString, installedType) { + /** @type {Array} */ + const keywords = searchString + .replace("*", " ") + .split(/(-?".*?"|[^\s"]+)+/g) + .map((item) => item + .trim() + .replace(/(?:'|")+/g, "") + .toLowerCase()) + .filter(Boolean); + + let fields = ["type", "name", "base", "description"]; + const regexSHA256 = /^[a-f0-9]{64}$/gi; + const newList = list.filter((element) => { + if (installedType !== "Filter: All") { + if ((installedType === "Downloaded" && !element["installed"]) || + (installedType === "Not Downloaded" && element["installed"])) { + return false; + } + } + const text = fields + .reduce((memo, field) => memo + " " + element[field], "") + .toLowerCase(); + return keywords.reduce((memo, target) => { + const excludeTarget = target[0] === "-"; + if (excludeTarget && target.length === 1) { return memo; } + const filteredTarget = excludeTarget ? target.slice(1) : target; + if (element["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { + return memo && excludeTarget !== (filteredTarget === element["SHA256"]); + } + else { + return memo && excludeTarget !== text.includes(filteredTarget); + } + }, true); + }); + + this.setData(newList); + } } -class Grid { - constructor() { - this.element = $el("div.comfy-grid"); +class ModelGrid { + static filter(list, searchString) { + /** @type {Array} */ + const keywords = searchString + .replace("*", " ") + .split(/(-?".*?"|[^\s"]+)+/g) + .map((item) => item + .trim() + .replace(/(?:'|")+/g, "") + .toLowerCase()) + .filter(Boolean); + + const regexSHA256 = /^[a-f0-9]{64}$/gi; + const fields = ["name", "search-path"]; // TODO: Remove "search-path" hack. + return list.filter((element) => { + const text = fields + .reduce((memo, field) => memo + " " + element[field], "") + .toLowerCase(); + return keywords.reduce((memo, target) => { + const excludeTarget = target[0] === "-"; + if (excludeTarget && target.length === 1) { return memo; } + const filteredTarget = excludeTarget ? target.slice(1) : target; + if (element["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { + return memo && excludeTarget !== (filteredTarget === element["SHA256"]); + } + else { + return memo && excludeTarget !== text.includes(filteredTarget); + } + }, true); + }); } - #dataSource = []; - - setData(dataSource) { - this.#dataSource = dataSource; - this.element.innerHTML = []; - this.#updateList(); + static #addModel(event, modelType, path) { + const target = document.elementFromPoint(event.x, event.y); + if (modelType !== "embeddings" && target.id === "graph-canvas") { + const nodeType = modelNodeType(modelType); + const widgetIndex = modelWidgetIndex(nodeType); + const pos = app.canvas.convertEventToCanvasOffset(event); + const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); + //if (nodeAtPos && nodeAtPos.type === nodeType && app.canvas.processNodeWidgets(nodeAtPos, pos, event) !== nodeAtPos.widgets[widgetIndex]) { + if (nodeAtPos && nodeAtPos.type === nodeType) { + let node = nodeAtPos; + node.widgets[widgetIndex].value = path; + app.canvas.selectNode(node); + } + else { + let node = LiteGraph.createNode(nodeType, null, []); + if (node) { + node.pos[0] = pos[0]; + node.pos[1] = pos[1]; + node.widgets[widgetIndex].value = path; + app.graph.add(node, {doProcessChange: true}); + app.canvas.selectNode(node); + } + } + event.stopPropagation(); + } + else if (modelType === "embeddings" && target.type === "textarea") { + const text = pathToEmbeddingString(path); + const currentText = target.value; + const sep = currentText.length === 0 || currentText.slice(-1).match(/\s/) ? "" : " "; + target.value = currentText + sep + text; + event.stopPropagation(); + } } - #updateList() { - this.element.innerHTML = null; - if (this.#dataSource.length > 0) { - this.element.append.apply( - this.element, - this.#dataSource.map((item) => { - const uri = item.post ?? "no-post"; - const imgUrl = `/model-manager/image-preview?uri=${uri}`; - return $el("div.item", {}, [ - $el("img", { src: imgUrl }), - $el("div", {}, [ - $el("p", [item.name]) - ]), - ]); - }) - ); + static #copyModelToClipboard(event, modelType, path) { + const nodeType = modelNodeType(modelType); + let successful = false; + if (nodeType === "Embedding") { + if (navigator.clipboard){ + const text = pathToEmbeddingString(path); + navigator.clipboard.writeText(text); + successful = true; + } + else { + console.warn("Cannot copy embedding to the system clipboard; Try dragging the element instead."); + } + } + else if (nodeType) { + const node = LiteGraph.createNode(nodeType, null, []); + const widgetIndex = modelWidgetIndex(nodeType); + node.widgets[widgetIndex].value = path; + app.canvas.copyToClipboard([node]); + successful = true; + } + else { + console.warn(`Unable to copy unknown model type '${modelType}.`); + } + + const element = event.target; + const name = successful ? "copy-alert-success" : "copy-alert-fail"; + element.classList.add(name); + element.innerHTML = successful ? "✔" : "✖"; + window.setTimeout((element, name) => { + element.classList.remove(name); + element.innerHTML = "⧉︎"; + }, 500, element, name); + } + + static generateInnerHtml(models, modelType) { + if (models.length > 0) { + return models.map((item) => { + const uri = item.post ?? "no-post"; + const imgUrl = `/model-manager/image-preview?uri=${uri}`; + const addModel = (e) => ModelGrid.#addModel(e, modelType, item.path); + const copy = (e) => ModelGrid.#copyModelToClipboard(e, modelType, item.path); + return $el("div.item", {}, [ + $el("img.model-preview", { + src: imgUrl, + draggable: false, + }), + $el("div.model-preview-overlay", { + src: imgUrl, + ondragend: (e) => addModel(e), + draggable: true, + }), + $el("button.icon-button.copy-model-button", { + type: "button", + textContent: "⧉︎", + onclick: (e) => copy(e), + draggable: false, + }), + $el("div.model-label", { + ondragend: (e) => addModel(e), + draggable: true, + }, [ + $el("p", [item.name]) + ]), + ]); + }); } else { - this.element.innerHTML = "

    No Models

    "; + return [$el("h2", ["No Models"])]; } } } @@ -238,23 +418,16 @@ function $radioGroup(attr) { } class ModelManager extends ComfyDialog { - #request(url, options) { - return new Promise((resolve, reject) => { - api.fetchApi(url, options) - .then((response) => response.json()) - .then(resolve) - .catch(reject); - }); - } - #el = { loadSourceBtn: null, loadSourceFromInput: null, sourceInstalledFilter: null, sourceContentFilter: null, sourceFilterBtn: null, + modelGrid: null, modelTypeSelect: null, modelContentFilter: null, + sidebarButtons: null, }; #data = { @@ -262,23 +435,47 @@ class ModelManager extends ComfyDialog { models: {}, }; - /** @type {List} */ + /** @type {SourceList} */ #sourceList = null; constructor() { super(); this.element = $el( "div.comfy-modal.model-manager", - { parent: document.body }, + { + parent: document.body, + }, [ $el("div.comfy-modal-content", [ - $el("button.close.icon-button", { - textContent: "✕", - onclick: () => this.close(), - }), + $el("div.topbar-buttons", + [ + $el("div.sidebar-buttons", + { + $: (el) => (this.#el.sidebarButtons = el), + }, + [ + $el("button.icon-button", { + textContent: "◧", + onclick: (event) => this.#setSidebar(event), + }), + $el("button.icon-button", { + textContent: "⬓", + onclick: (event) => this.#setSidebar(event), + }), + $el("button.icon-button", { + textContent: "◨", + onclick: (event) => this.#setSidebar(event), + }), + ]), + $el("button.icon-button", { + textContent: "✖", + onclick: () => this.close(), + }), + ] + ), $tabs([ $tab("Install", this.#createSourceInstall()), - $tab("Models", this.#createModelList()), + $tab("Models", this.#createModelTabHtml()), $tab("Settings", []), ]), ]), @@ -290,12 +487,11 @@ class ModelManager extends ComfyDialog { #init() { this.#refreshSourceList(); - this.#refreshModelList(); + this.#modelGridRefresh(); } #createSourceInstall() { this.#createSourceList(); - return [ $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ @@ -316,8 +512,7 @@ class ModelManager extends ComfyDialog { placeholder: "example: \"sd_xl\" -vae", onkeyup: (e) => e.key === "Enter" && this.#filterSourceList(), }), - $el( - "select", + $el("select", { $: (el) => (this.#el.sourceInstalledFilter = el), style: { width: 0 }, @@ -341,7 +536,7 @@ class ModelManager extends ComfyDialog { } #createSourceList() { - const sourceList = new List([ + const sourceList = new SourceList([ { title: "Type", dataIndex: "type", @@ -378,7 +573,7 @@ class ModelManager extends ComfyDialog { textContent: installed ? "✓︎" : "📥︎", onclick: async (e) => { e.disabled = true; - const response = await this.#request( + const response = await request( "/model-manager/download", { method: "POST", @@ -400,7 +595,7 @@ class ModelManager extends ComfyDialog { const source = this.#el.loadSourceFromInput.value; const uri = (source === "https://ComfyUI-Model-Manager/index.json") || (source === "") ? "local" : source; - const dataSource = await this.#request( + const dataSource = await request( `/model-manager/source?uri=${uri}` ).catch(() => []); this.#data.sources = dataSource; @@ -411,69 +606,30 @@ class ModelManager extends ComfyDialog { this.#el.loadSourceBtn.disabled = false; } -#filterSourceList() { - /** @type {Array} */ - const content = this.#el.sourceContentFilter.value - .replace("*", " ") - .split(/(-?".*?"|[^\s"]+)+/g) - .map((item) => item - .trim() - .replace(/(?:'|")+/g, "") - .toLowerCase() // TODO: Quotes should be exact? - ) - .filter(Boolean); - - const installedType = this.#el.sourceInstalledFilter.value; - const newDataSource = this.#data.sources.filter((row) => { - if (installedType !== "Filter: All") { - if ((installedType === "Downloaded" && !row["installed"]) || - (installedType === "Not Downloaded" && row["installed"])) { - return false; - } - } - - let filterField = ["type", "name", "base", "description"]; - const rowText = filterField - .reduce((memo, field) => memo + " " + row[field], "") - .toLowerCase(); - return content.reduce((memo, target) => { - const excludeTarget = target[0] === "-"; - if (excludeTarget && target.length === 1) { return memo; } - const filteredTarget = excludeTarget ? target.slice(1) : target; - const regexSHA256 = /^[a-f0-9]{64}$/gi; - if (row["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { - return memo && excludeTarget !== (filteredTarget === row["SHA256"]); - } - else { - return memo && excludeTarget !== rowText.includes(filteredTarget); - } - }, true); - }); - - this.#sourceList.setData(newDataSource); + #filterSourceList() { + this.#sourceList.filterList( + this.#data.sources, + this.#el.sourceContentFilter.value, + this.#el.sourceInstalledFilter.value + ); } - /** @type {Grid} */ - #modelList = null; - - #createModelList() { - const gridInstance = new Grid(); - this.#modelList = gridInstance; - + #createModelTabHtml() { + const modelGrid = $el("div.comfy-grid"); + this.#el.modelGrid = modelGrid; return [ $el("div.row.tab-header", [ - $el("div.row.tab-header-flex-block", - [ + $el("div.row.tab-header-flex-block", [ $el("button.icon-button", { type: "button", textContent: "⟳", - onclick: () => this.#refreshModelList(), + onclick: () => this.#modelGridRefresh(), }), $el("select.model-type-dropdown", { $: (el) => (this.#el.modelTypeSelect = el), name: "model-type", - onchange: () => this.#filterModelList(), + onchange: () => this.#modelGridUpdate(), }, [ $el("option", ["checkpoints"]), @@ -492,64 +648,69 @@ class ModelManager extends ComfyDialog { $el("option", ["vae_approx"]), ] ), - ] - ), + ]), $el("div.row.tab-header-flex-block", [ $el("input.search-text-area", { $: (el) => (this.#el.modelContentFilter = el), placeholder: "example: styles/clothing -.pt", - onkeyup: (e) => e.key === "Enter" && this.#filterModelList(), + onkeyup: (e) => e.key === "Enter" && this.#modelGridUpdate(), }), $el("button.icon-button", { type: "button", textContent: "🔍︎", - onclick: () => this.#filterModelList(), + onclick: () => this.#modelGridUpdate(), }), ]), ]), - gridInstance.element, + modelGrid, ]; } - async #refreshModelList() { - const dataSource = await this.#request("/model-manager/models"); - this.#data.models = dataSource; - this.#filterModelList(); - } - - #filterModelList() { - /** @type {Array} */ - const content = this.#el.modelContentFilter.value - .replace("*", " ") - .split(/(-?".*?"|[^\s"]+)+/g) - .map((item) => item - .trim() - .replace(/(?:'|")+/g, "") - .toLowerCase() // TODO: Quotes should be exact? - ) - .filter(Boolean); - + #modelGridUpdate() { + const searchText = this.#el.modelContentFilter.value; const modelType = this.#el.modelTypeSelect.value; + const models = this.#data.models; + const modelList = ModelGrid.filter(models[modelType], searchText); - const newDataSource = this.#data.models[modelType].filter((modelInfo) => { - const filterField = ["name", "path"]; - const modelText = filterField - .reduce((memo, field) => memo + " " + modelInfo[field], "") - .toLowerCase(); - return content.reduce((memo, target) => { - const excludeTarget = target[0] === "-"; - if (excludeTarget && target.length === 1) { return memo; } - const filteredTarget = excludeTarget ? target.slice(1) : target; - const regexSHA256 = /^[a-f0-9]{64}$/gi; - if (modelInfo["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { - return memo && excludeTarget !== (filteredTarget === modelInfo["SHA256"]); - } - else { - return memo && excludeTarget !== modelText.includes(filteredTarget); - } - }, true); - }); - this.#modelList.setData(newDataSource); + const modelGrid = this.#el.modelGrid; + modelGrid.innerHTML = []; + const innerHTML = ModelGrid.generateInnerHtml(modelList, modelType); + modelGrid.append.apply(modelGrid, innerHTML); + }; + + async #modelGridRefresh() { + this.#data.models = await request("/model-manager/models"); + this.#modelGridUpdate(); + }; + + #setSidebar(event) { + // TODO: settings.sidebar_side_width + // TODO: settings.sidebar_bottom_height + // TODO: draggable resize? + const button = event.target; + const sidebarButtons = this.#el.sidebarButtons.children; + let buttonIndex; + for (buttonIndex = 0; buttonIndex < sidebarButtons.length; buttonIndex++) { + if (sidebarButtons[buttonIndex] === button) { + break; + } + } + + const modelManager = this.element; + const sidebarStates = ["sidebar-left", "sidebar-bottom", "sidebar-right"]; + let stateIndex; + for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { + const state = sidebarStates[stateIndex]; + if (modelManager.classList.contains(state)) { + modelManager.classList.remove(state); + break; + } + } + + if (stateIndex != buttonIndex) { + const newSidebarState = sidebarStates[buttonIndex]; + modelManager.classList.add(newSidebarState); + } } } @@ -586,3 +747,5 @@ app.registerExtension({ ); }, }); + +// ◧ ◨ ⬒ ⬓ ⛶ ✚ From 4c06ec752a1a4b51b5451535e26ea3972bd439fa Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 3 Jan 2024 10:09:54 -0500 Subject: [PATCH 06/79] added add button --- README.md | 8 ++++- web/model-manager.css | 29 ++++++++------- web/model-manager.js | 84 ++++++++++++++++++++++++++++++++++++------- 3 files changed, 96 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 18f35e7..8f4caf1 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ Currently it is still missing some features it should have. - Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). - Include models listed in ComfyUI's `extra_model_paths.yaml`. - Button to copy a model to the ComfyUI clipboard. (Embedding cannot be copied to the system clipboard with an http connection.) +- Button to add model to ComfyUI graph. (For small screens/low resolution.) - Right, left and bottom toggleable sidebar modes. - Drag model to graph to add or existing node to set model. - Drag embedding to textarea to append. @@ -51,10 +52,11 @@ Currently it is still missing some features it should have. - ☐ Exclude hidden folders with a `.` prefix. - ☐ Include a optional string to always add to searches. - ☐ Enable optional checksum to detect if a model is already downloaded. -- ☐ Change copy icon to an add icon `✚`. +- ☐ Enable/Disable add and copy buttons. - ☐ Allow user to drag width of sidebar or height of bottom bar and remember it. - ☐ Hide/Show model extension. - ☐ Optionally remove embedding extension. +- ☐ Strict model drag on node widget textbox. ### Model info window/panel (server load/send on demand) @@ -68,3 +70,7 @@ Currently it is still missing some features it should have. - ☐ Show preview images for videos. - ☐ If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. - ☐ Play preview video? + +### Accessibility + +- ☐ Proper naming and labeling. diff --git a/web/model-manager.css b/web/model-manager.css index dac618f..bd62784 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -55,10 +55,8 @@ .comfy-grid .item { position: relative; - aspect-ratio: 2/3; - max-width: 230px; - /*width: 230px;*/ - /*height: 345px;*/ + width: 230px; + height: 345px; text-align: center; overflow: hidden; border-radius: 8px; @@ -70,7 +68,7 @@ object-fit: cover; } -.comfy-grid .item div { +.comfy-grid .model-label { background-color: #000a; width: 100%; height: 2.2rem; @@ -80,7 +78,7 @@ line-height: 2.2rem; } -.comfy-grid .item div > p { +.comfy-grid .model-label > p { width: calc(100% - 2rem); overflow-x: scroll; white-space: nowrap; @@ -89,17 +87,18 @@ margin: 0; } -.comfy-grid .item div { +.comfy-grid .model-label { scrollbar-width: none; -ms-overflow-style: none; } -.comfy-grid .item div ::-webkit-scrollbar { +.comfy-grid .model-label ::-webkit-scrollbar { width: 0; height: 0; } .comfy-grid .item .model-preview-overlay { + position: absolute; top: 0; left: 0; height: 100%; @@ -107,23 +106,29 @@ background-color: rgba(0, 0, 0, 0); } -.comfy-grid .copy-model-button { +.comfy-grid .model-preview-top-right { position: absolute; + display: flex; + flex-direction: column; + gap: 8px; top: 8px; right: 8px; +} + +.comfy-grid .model-button { opacity: 0.65; } -.comfy-grid .copy-model-button:hover { +.comfy-grid .model-button:hover { opacity: 1; } -button.icon-button.copy-model-button.copy-alert-success { +.comfy-grid .model-button.copy-alert-success { color: green; border-color: green; } -button.icon-button.copy-model-button.copy-alert-fail { +.comfy-grid .model-button.copy-alert-fail { color: darkred; border-color: darkred; } diff --git a/web/model-manager.js b/web/model-manager.js index daba9e7..a28d719 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -274,15 +274,61 @@ class ModelGrid { }, true); }); } - + + static #addModel(event, modelType, path) { + if (modelType !== "embeddings") { + const nodeType = modelNodeType(modelType); + const widgetIndex = modelWidgetIndex(nodeType); + let node = LiteGraph.createNode(nodeType, null, []); + if (node) { + node.widgets[widgetIndex].value = path; + const selectedNodes = app.canvas.selected_nodes; + let isSelectedNode = false; + for (var i in selectedNodes) { + const selectedNode = selectedNodes[i]; + // TODO: settings.model_add_offset + node.pos[0] = selectedNode.pos[0] + 25; + node.pos[1] = selectedNode.pos[1] + 25; + isSelectedNode = true; + break; + } + if (!isSelectedNode) { + const graphMouse = app.canvas.graph_mouse; + node.pos[0] = graphMouse[0]; + node.pos[1] = graphMouse[1]; + } + app.graph.add(node, {doProcessChange: true}); + app.canvas.selectNode(node); + } + event.stopPropagation(); + } + else if (modelType === "embeddings") { + const text = pathToEmbeddingString(path); + const selectedNodes = app.canvas.selected_nodes; + for (var i in selectedNodes) { + const selectedNode = selectedNodes[i]; + const nodeType = modelNodeType(modelType); + const widgetIndex = modelWidgetIndex(nodeType); + const target = selectedNode.widgets[widgetIndex].element; + if (target.type === "textarea") { + const currentText = target.value; + const sep = currentText.length === 0 || currentText.slice(-1).match(/\s/) ? "" : " "; + target.value = currentText + sep + text; + } + } + event.stopPropagation(); + } + } + + static #dragAddModel(event, modelType, path) { const target = document.elementFromPoint(event.x, event.y); if (modelType !== "embeddings" && target.id === "graph-canvas") { const nodeType = modelNodeType(modelType); const widgetIndex = modelWidgetIndex(nodeType); const pos = app.canvas.convertEventToCanvasOffset(event); const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); - //if (nodeAtPos && nodeAtPos.type === nodeType && app.canvas.processNodeWidgets(nodeAtPos, pos, event) !== nodeAtPos.widgets[widgetIndex]) { + //if (nodeAtPos && nodeAtPos.type === nodeType && app.canvas.processNodeWidgets(nodeAtPos, pos, event) !== nodeAtPos.widgets[widgetIndex]) { // TODO: settings.strict_model_drag if (nodeAtPos && nodeAtPos.type === nodeType) { let node = nodeAtPos; node.widgets[widgetIndex].value = path; @@ -319,7 +365,7 @@ class ModelGrid { successful = true; } else { - console.warn("Cannot copy embedding to the system clipboard; Try dragging the element instead."); + console.warn("Cannot copy the embedding to the system clipboard; Try dragging it instead."); } } else if (nodeType) { @@ -345,11 +391,14 @@ class ModelGrid { static generateInnerHtml(models, modelType) { if (models.length > 0) { + // TODO: settings.show_model_add_button + // TODO: settings.show_model_copy_button return models.map((item) => { const uri = item.post ?? "no-post"; const imgUrl = `/model-manager/image-preview?uri=${uri}`; - const addModel = (e) => ModelGrid.#addModel(e, modelType, item.path); - const copy = (e) => ModelGrid.#copyModelToClipboard(e, modelType, item.path); + const dragAdd = (e) => ModelGrid.#dragAddModel(e, modelType, item.path); + const clickCopy = (e) => ModelGrid.#copyModelToClipboard(e, modelType, item.path); + const clickAdd = (e) => ModelGrid.#addModel(e, modelType, item.path); return $el("div.item", {}, [ $el("img.model-preview", { src: imgUrl, @@ -357,17 +406,28 @@ class ModelGrid { }), $el("div.model-preview-overlay", { src: imgUrl, - ondragend: (e) => addModel(e), + ondragend: (e) => dragAdd(e), draggable: true, }), - $el("button.icon-button.copy-model-button", { - type: "button", - textContent: "⧉︎", - onclick: (e) => copy(e), + $el("div.model-preview-top-right", { draggable: false, - }), + }, + [ + $el("button.icon-button.model-button", { + type: "button", + textContent: "⧉︎", + onclick: (e) => clickCopy(e), + draggable: false, + }), + $el("button.icon-button.model-button", { + type: "button", + textContent: "✚", + onclick: (e) => clickAdd(e), + draggable: false, + }), + ]), $el("div.model-label", { - ondragend: (e) => addModel(e), + ondragend: (e) => dragAdd(e), draggable: true, }, [ $el("p", [item.name]) From 342d9cbb5c3e28dccbb1d5bb4d23d24ea7211750 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 3 Jan 2024 10:15:58 -0500 Subject: [PATCH 07/79] Clearer feature wording. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8f4caf1..53b8cfa 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ Currently it is still missing some features it should have. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. - Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). - Include models listed in ComfyUI's `extra_model_paths.yaml`. -- Button to copy a model to the ComfyUI clipboard. (Embedding cannot be copied to the system clipboard with an http connection.) -- Button to add model to ComfyUI graph. (For small screens/low resolution.) +- Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) +- Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) - Right, left and bottom toggleable sidebar modes. - Drag model to graph to add or existing node to set model. - Drag embedding to textarea to append. @@ -74,3 +74,4 @@ Currently it is still missing some features it should have. ### Accessibility - ☐ Proper naming and labeling. +- ☐ Tool tips? From c7e90b7f75d89ad12f911836d6e018326bb9185b Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 3 Jan 2024 10:28:28 -0500 Subject: [PATCH 08/79] A little more wording. --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 53b8cfa..1f67345 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,16 @@ Currently it is still missing some features it should have. ## Fork Improvements -- Search models in models tab. +- Search bar in models tab. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. - Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). - Include models listed in ComfyUI's `extra_model_paths.yaml`. - Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) - Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) - Right, left and bottom toggleable sidebar modes. -- Drag model to graph to add or existing node to set model. -- Drag embedding to textarea to append. +- Drag a model onto the graph to add a new node. +- Drag a model onto an existing node to set the model field. +- Drag an embedding onto a text area to add it to the end. - Increased supported preview image types. - Correctly change colors using ComfyUI's theme colors. - Simplified UI. From 6891378f81cd67527116ac7b07ffdf4f74477c93 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 3 Jan 2024 12:35:01 -0500 Subject: [PATCH 09/79] Added missing alerts on add buttons. --- web/model-manager.css | 4 +-- web/model-manager.js | 65 ++++++++++++++++++++++++++++--------------- 2 files changed, 44 insertions(+), 25 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index bd62784..b9cd2a2 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -123,12 +123,12 @@ opacity: 1; } -.comfy-grid .model-button.copy-alert-success { +.comfy-grid .model-button.model-button-success { color: green; border-color: green; } -.comfy-grid .model-button.copy-alert-fail { +.comfy-grid .model-button.model-button-failure { color: darkred; border-color: darkred; } diff --git a/web/model-manager.js b/web/model-manager.js index a28d719..7c69e3f 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -43,12 +43,18 @@ function modelWidgetIndex(nodeType) { return 0; } -function pathToEmbeddingString(path, removeExtension = false) { +function pathToFileString(path) { const i = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1; + return path.slice(i); +} + +function insertEmbeddingIntoText(currentText, embeddingFile, removeExtension = false) { if (removeExtension) { // TODO: setting.remove_extension_embedding } - return "(embedding:" + path.slice(i) + ":1.0)"; + // TODO: don't add if it is already in the text? + const sep = currentText.length === 0 || currentText.slice(-1).match(/\s/) ? "" : " "; + return currentText + sep + "(embedding:" + embeddingFile + ":1.0)"; } class Tabs { @@ -275,8 +281,21 @@ class ModelGrid { }); } + static #buttonAlert(event, successful, innerHTML) { + const element = event.target; + const name = successful ? "model-button-success" : "model-button-failure"; + element.classList.add(name); + element.innerHTML = successful ? "✔" : "✖"; + // TODO: debounce would be nice to get working... + window.setTimeout((element, name) => { + element.classList.remove(name); + element.innerHTML = innerHTML; + }, 500, element, name); + } + static #addModel(event, modelType, path) { + let successful = false; if (modelType !== "embeddings") { const nodeType = modelNodeType(modelType); const widgetIndex = modelWidgetIndex(nodeType); @@ -300,25 +319,29 @@ class ModelGrid { } app.graph.add(node, {doProcessChange: true}); app.canvas.selectNode(node); + successful = true; } event.stopPropagation(); } else if (modelType === "embeddings") { - const text = pathToEmbeddingString(path); + const embeddingFile = pathToFileString(path); const selectedNodes = app.canvas.selected_nodes; for (var i in selectedNodes) { const selectedNode = selectedNodes[i]; const nodeType = modelNodeType(modelType); const widgetIndex = modelWidgetIndex(nodeType); const target = selectedNode.widgets[widgetIndex].element; - if (target.type === "textarea") { - const currentText = target.value; - const sep = currentText.length === 0 || currentText.slice(-1).match(/\s/) ? "" : " "; - target.value = currentText + sep + text; + if (target && target.type === "textarea") { + target.value = insertEmbeddingIntoText(target.value, embeddingFile); + successful = true; } } + if (!successful) { + console.warn("Try selecting a node before adding the embedding."); + } event.stopPropagation(); } + this.#buttonAlert(event, successful, "✚"); } static #dragAddModel(event, modelType, path) { @@ -347,11 +370,14 @@ class ModelGrid { event.stopPropagation(); } else if (modelType === "embeddings" && target.type === "textarea") { - const text = pathToEmbeddingString(path); - const currentText = target.value; - const sep = currentText.length === 0 || currentText.slice(-1).match(/\s/) ? "" : " "; - target.value = currentText + sep + text; - event.stopPropagation(); + const pos = app.canvas.convertEventToCanvasOffset(event); + const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); + if (nodeAtPos) { + app.canvas.selectNode(nodeAtPos); + const embeddingFile = pathToFileString(path); + target.value = insertEmbeddingIntoText(target.value, embeddingFile); + event.stopPropagation(); + } } } @@ -360,8 +386,8 @@ class ModelGrid { let successful = false; if (nodeType === "Embedding") { if (navigator.clipboard){ - const text = pathToEmbeddingString(path); - navigator.clipboard.writeText(text); + const embeddingText = pathToFileString(path); + navigator.clipboard.writeText(embeddingText); successful = true; } else { @@ -378,15 +404,7 @@ class ModelGrid { else { console.warn(`Unable to copy unknown model type '${modelType}.`); } - - const element = event.target; - const name = successful ? "copy-alert-success" : "copy-alert-fail"; - element.classList.add(name); - element.innerHTML = successful ? "✔" : "✖"; - window.setTimeout((element, name) => { - element.classList.remove(name); - element.innerHTML = "⧉︎"; - }, 500, element, name); + this.#buttonAlert(event, successful, "⧉︎"); } static generateInnerHtml(models, modelType) { @@ -744,6 +762,7 @@ class ModelManager extends ComfyDialog { }; #setSidebar(event) { + // TODO: use checkboxes with 0 or 1 values set at once? // TODO: settings.sidebar_side_width // TODO: settings.sidebar_bottom_height // TODO: draggable resize? From 5517ae68e4a9adb3439dd29fe48d32173ad9edd9 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 4 Jan 2024 04:07:01 -0500 Subject: [PATCH 10/79] Top sidebar button. --- README.md | 51 ++++++++++++++++++++++++------------------- web/model-manager.css | 5 +++++ web/model-manager.js | 16 ++++++++------ 3 files changed, 43 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 1f67345..c15926e 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,28 @@ Currently it is still missing some features it should have. ## TODO: -### Downloading tab +### Model Copying -- ☐ Replace Install tab with Downloading tab (more practical IMO). -- ☐ Download a model from a url. -- ☐ Choose save path/directory to download within vaild model directories. (Alert Yes/No if need to create new dirs?) +- ☐ Copy image? + +### Model info window/panel (server load/send on demand) + +- ☐ Info icon `ⓘ` button to view. +- ☐ Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) + - ☐ Radio buttons to swap between downloaded and server view. +- ☐ Delete model with warning popup. + +### Settings + +- ☐ Add `settings.yaml` and add file to `.gitignore`. (Generate if not there.) +- ☐ Exclude hidden folders with a `.` prefix. +- ☐ Include a optional string to always add to searches. +- ☐ Enable optional checksum to detect if a model is already downloaded. +- ☐ Enable/Disable add and copy buttons. +- ☐ Allow user to drag width of sidebar or height of bottom bar and remember it. +- ☐ Hide/Show model extension. +- ☐ Optionally remove embedding extension. +- ☐ Strict model drag on node widget textbox. ### Search filtering and sort @@ -47,24 +64,6 @@ Currently it is still missing some features it should have. - ☐ Frequently used (ascending/decending) - ☐ `or` vs `and` type of keyword search (currently `and`) -### Settings - -- ☐ Add `settings.yaml` and add file to `.gitignore`. -- ☐ Exclude hidden folders with a `.` prefix. -- ☐ Include a optional string to always add to searches. -- ☐ Enable optional checksum to detect if a model is already downloaded. -- ☐ Enable/Disable add and copy buttons. -- ☐ Allow user to drag width of sidebar or height of bottom bar and remember it. -- ☐ Hide/Show model extension. -- ☐ Optionally remove embedding extension. -- ☐ Strict model drag on node widget textbox. - -### Model info window/panel (server load/send on demand) - -- ☐ Info icon `ⓘ` button to view. -- ☐ Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) -- ☐ Delete model with warning popup. - ### Image preview - ☐ Support multiple preview images. (swipe?) @@ -76,3 +75,11 @@ Currently it is still missing some features it should have. - ☐ Proper naming and labeling. - ☐ Tool tips? + +### Directory Browser and Downloading tab + +(NOTE: It is a impossible to put a model automatically in the correct folder if model type information is not given or ambigious. To fully solve this requires making a file browser where files can be moved around.) + +- ☐ Replace Install tab with Downloading tab (more practical IMO). +- ☐ Download a model from a url. +- ☐ Choose save path/directory to download within vaild model directories. (Alert Yes/No if need to create new dirs?) diff --git a/web/model-manager.css b/web/model-manager.css index b9cd2a2..5d6c7bd 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -186,6 +186,11 @@ left: 25%; } +.model-manager.sidebar-top { + height: 50%; + top: 25%; +} + .model-manager.sidebar-bottom { height: 50%; top: 75%; diff --git a/web/model-manager.js b/web/model-manager.js index 7c69e3f..9f5bc2f 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -280,7 +280,7 @@ class ModelGrid { }, true); }); } - + static #buttonAlert(event, successful, innerHTML) { const element = event.target; const name = successful ? "model-button-success" : "model-button-failure"; @@ -292,8 +292,7 @@ class ModelGrid { element.innerHTML = innerHTML; }, 500, element, name); } - - + static #addModel(event, modelType, path) { let successful = false; if (modelType !== "embeddings") { @@ -524,7 +523,7 @@ class ModelManager extends ComfyDialog { parent: document.body, }, [ - $el("div.comfy-modal-content", [ + $el("div.comfy-modal-content", [ // TODO: settings.top_bar_left_to_right or settings.top_bar_right_to_left $el("div.topbar-buttons", [ $el("div.sidebar-buttons", @@ -536,6 +535,10 @@ class ModelManager extends ComfyDialog { textContent: "◧", onclick: (event) => this.#setSidebar(event), }), + $el("button.icon-button", { + textContent: "⬒", + onclick: (event) => this.#setSidebar(event), + }), $el("button.icon-button", { textContent: "⬓", onclick: (event) => this.#setSidebar(event), @@ -746,6 +749,7 @@ class ModelManager extends ComfyDialog { #modelGridUpdate() { const searchText = this.#el.modelContentFilter.value; + // TODO: settings.always_append_to_search const modelType = this.#el.modelTypeSelect.value; const models = this.#data.models; const modelList = ModelGrid.filter(models[modelType], searchText); @@ -776,7 +780,7 @@ class ModelManager extends ComfyDialog { } const modelManager = this.element; - const sidebarStates = ["sidebar-left", "sidebar-bottom", "sidebar-right"]; + const sidebarStates = ["sidebar-left", "sidebar-top", "sidebar-bottom", "sidebar-right"]; let stateIndex; for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { const state = sidebarStates[stateIndex]; @@ -826,5 +830,3 @@ app.registerExtension({ ); }, }); - -// ◧ ◨ ⬒ ⬓ ⛶ ✚ From 724a9425c4f1ce3a487ee9336adb54a1b0834838 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 4 Jan 2024 07:13:28 -0500 Subject: [PATCH 11/79] Triage `folder_paths` crashing on unregistered dir. --- __init__.py | 60 ++++++++++++++++++++++++++++---------------- web/model-manager.js | 34 ++++++++++++------------- 2 files changed, 55 insertions(+), 39 deletions(-) diff --git a/__init__.py b/__init__.py index 6715c57..35bcd6a 100644 --- a/__init__.py +++ b/__init__.py @@ -11,10 +11,6 @@ import folder_paths requests.packages.urllib3.disable_warnings() -def folder_paths_get_supported_pt_extensions(folder_name): # Missing api function. - return folder_paths.folder_names_and_paths[folder_name][1] - - comfyui_model_uri = os.path.join(os.getcwd(), "models") extension_uri = os.path.join(os.getcwd(), "custom_nodes" + os.path.sep + "ComfyUI-Model-Manager") index_uri = os.path.join(extension_uri, "index.json") @@ -26,6 +22,26 @@ image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") #hash_buffer_size = 4096 + +def folder_paths_get_folder_paths(folder_name): # API function crashes querying unknown model folder + paths = folder_paths.folder_names_and_paths + if folder_name in paths: + return paths[folder_name][0][:] + + maybe_path = os.path.join(comfyui_model_uri, folder_name) + if os.path.exists(maybe_path): + return [maybe_path] + return [] + + +def folder_paths_get_supported_pt_extensions(folder_name): # Missing API function + paths = folder_paths.folder_names_and_paths + if folder_name in paths: + return paths[folder_name][1] + + return set(['.ckpt', '.pt', '.bin', '.pth', '.safetensors']) + + def get_safetensor_header(path): try: with open(path, "rb") as f: @@ -43,21 +59,21 @@ def end_swap_and_pop(x, i): def model_type_to_dir_name(model_type): - # TODO: Figure out how to remove this. - match model_type: - case "checkpoint": - return "checkpoints" - case "diffuser": - return "diffusers" - case "embedding": - return "embeddings" - case "hypernetwork": - return "hypernetworks" - case "lora": - return "loras" - case "upscale_model": - return "upscale_models" - return model_type + if model_type == "checkpoint": return "checkpoints" + #elif model_type == "clip": return "clip" + #elif model_type == "clip_vision": return "clip_vision" + #elif model_type == "controlnet": return "controlnet" + elif model_type == "diffuser": return "diffusers" + elif model_type == "embedding": return "embeddings" + #elif model_type== "gligen": return "gligen" + elif model_type == "hypernetwork": return "hypernetworks" + elif model_type == "lora": return "loras" + #elif model_type == "style_models": return "style_models" + #elif model_type == "unet": return "unet" + elif model_type == "upscale_model": return "upscale_models" + #elif model_type == "vae": return "vae" + #elif model_type == "vae_approx": return "vae_approx" + else: return model_type @server.PromptServer.instance.routes.get("/model-manager/image-preview") @@ -77,7 +93,7 @@ async def img_preview(request): if j == -1: j = len(rel_image_path) base_index = int(uri[i + len(os.path.sep):j]) - base_path = folder_paths.get_folder_paths(model_type)[base_index] + base_path = folder_paths_get_folder_paths(model_type)[base_index] abs_image_path = os.path.normpath(base_path + os.path.sep + uri[j:]) # do NOT use os.path.join if os.path.exists(abs_image_path): @@ -133,7 +149,7 @@ async def load_source_from(request): #print(checksum_cache) for model_type in model_types: - for model_base_path in folder_paths.get_folder_paths(model_type): + for model_base_path in folder_paths_get_folder_paths(model_type): if not os.path.exists(model_base_path): # Bug in main code? continue for cwd, _subdirs, files in os.walk(model_base_path): @@ -182,7 +198,7 @@ async def load_download_models(request): for model_type in model_types: model_extensions = tuple(folder_paths_get_supported_pt_extensions(model_type)) file_names = [] - for base_path_index, model_base_path in enumerate(folder_paths.get_folder_paths(model_type)): + for base_path_index, model_base_path in enumerate(folder_paths_get_folder_paths(model_type)): if not os.path.exists(model_base_path): # Bug in main code? continue for cwd, _subdirs, files in os.walk(model_base_path): diff --git a/web/model-manager.js b/web/model-manager.js index 9f5bc2f..acc965c 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -22,20 +22,20 @@ function request(url, options) { } function modelNodeType(modelType) { - if (modelType === "checkpoints") return "CheckpointLoaderSimple"; - else if (modelType === "clip") return "CLIPLoader"; - else if (modelType === "clip_vision") return "CLIPVisionLoader"; - else if (modelType === "controlnet") return "ControlNetLoader"; - else if (modelType === "diffusers") return "DiffusersLoader"; - else if (modelType === "embeddings") return "Embedding"; - else if (modelType === "gligen") return "GLIGENLoader"; - else if (modelType === "hypernetworks") return "HypernetworkLoader"; - else if (modelType === "loras") return "LoraLoader"; - else if (modelType === "style_models") return "StyleModelLoader"; - else if (modelType === "unet") return "UNETLoader"; - else if (modelType === "upscale_models") return "UpscaleModelLoader"; - else if (modelType === "vae") return "VAELoader"; - else if (modelType === "vae_approx") return undefined; + if (modelType === "checkpoints") { return "CheckpointLoaderSimple"; } + else if (modelType === "clip") { return "CLIPLoader"; } + else if (modelType === "clip_vision") { return "CLIPVisionLoader"; } + else if (modelType === "controlnet") { return "ControlNetLoader"; } + else if (modelType === "diffusers") { return "DiffusersLoader"; } + else if (modelType === "embeddings") { return "Embedding"; } + else if (modelType === "gligen") { return "GLIGENLoader"; } + else if (modelType === "hypernetworks") { return "HypernetworkLoader"; } + else if (modelType === "loras") { return "LoraLoader"; } + else if (modelType === "style_models") { return "StyleModelLoader"; } + else if (modelType === "unet") { return "UNETLoader"; } + else if (modelType === "upscale_models") { return "UpscaleModelLoader"; } + else if (modelType === "vae") { return "VAELoader"; } + else if (modelType === "vae_approx") { return undefined; } else { console.warn(`ModelType ${modelType} unrecognized.`); return undefined; } } @@ -48,8 +48,8 @@ function pathToFileString(path) { return path.slice(i); } -function insertEmbeddingIntoText(currentText, embeddingFile, removeExtension = false) { - if (removeExtension) { +function insertEmbeddingIntoText(currentText, embeddingFile, extensionRegex = null) { + if (extensionRegex) { // TODO: setting.remove_extension_embedding } // TODO: don't add if it is already in the text? @@ -712,7 +712,7 @@ class ModelManager extends ComfyDialog { name: "model-type", onchange: () => this.#modelGridUpdate(), }, - [ + [ // TODO: generate based on existing model folders $el("option", ["checkpoints"]), $el("option", ["clip"]), $el("option", ["clip_vision"]), From a8fa7c6c158cda4d4de7bc4659f1c7151f33aef5 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Fri, 5 Jan 2024 07:35:24 -0500 Subject: [PATCH 12/79] Added settings & config yaml. --- .gitignore | 1 + README.md | 25 +++- __init__.py | 64 +++++++- config_loader.py | 65 ++++++++ web/model-manager.css | 48 ++++-- web/model-manager.js | 340 ++++++++++++++++++++++++++++++++++-------- 6 files changed, 452 insertions(+), 91 deletions(-) create mode 100644 config_loader.py diff --git a/.gitignore b/.gitignore index 68bc17f..c91d84d 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,4 @@ cython_debug/ # 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/ +ui_settings.yaml diff --git a/README.md b/README.md index c15926e..63e958a 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,27 @@ Currently it is still missing some features it should have. - Include models listed in ComfyUI's `extra_model_paths.yaml`. - Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) - Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) -- Right, left and bottom toggleable sidebar modes. +- Right, left, top and bottom toggleable sidebar modes. - Drag a model onto the graph to add a new node. - Drag a model onto an existing node to set the model field. - Drag an embedding onto a text area to add it to the end. - Increased supported preview image types. - Correctly change colors using ComfyUI's theme colors. - Simplified UI. +- Settings tab and config file. + - Hide/Show 'add' and 'copy-to-clipboard' buttons. + - Text to always search. + - Show/Hide add embedding extension. ## TODO: +### Code + +- ☐ Javascript cleanup. + - ☐ Seperate into classes per tab? + - ☐ HTML generation all inside main class? + - ☐ More server driven, HTMX-like HTML generation? (Avoid x2 states) + ### Model Copying - ☐ Copy image? @@ -41,15 +52,9 @@ Currently it is still missing some features it should have. ### Settings -- ☐ Add `settings.yaml` and add file to `.gitignore`. (Generate if not there.) - ☐ Exclude hidden folders with a `.` prefix. -- ☐ Include a optional string to always add to searches. - ☐ Enable optional checksum to detect if a model is already downloaded. -- ☐ Enable/Disable add and copy buttons. -- ☐ Allow user to drag width of sidebar or height of bottom bar and remember it. -- ☐ Hide/Show model extension. -- ☐ Optionally remove embedding extension. -- ☐ Strict model drag on node widget textbox. +- ☐ Sidebar width. ### Search filtering and sort @@ -76,6 +81,10 @@ Currently it is still missing some features it should have. - ☐ Proper naming and labeling. - ☐ Tool tips? +### Sidebar + +- ☐ Drag sidebar width/height dynamically. + ### Directory Browser and Downloading tab (NOTE: It is a impossible to put a model automatically in the correct folder if model type information is not given or ambigious. To fully solve this requires making a file browser where files can be moved around.) diff --git a/__init__.py b/__init__.py index 35bcd6a..253dd6b 100644 --- a/__init__.py +++ b/__init__.py @@ -1,21 +1,29 @@ import os import sys import hashlib +import importlib + from aiohttp import web import server import urllib.parse import struct import json import requests +requests.packages.urllib3.disable_warnings() + import folder_paths -requests.packages.urllib3.disable_warnings() +config_loader_path = os.path.join(os.path.dirname(__file__), 'config_loader.py') +config_loader_spec = importlib.util.spec_from_file_location('config_loader', config_loader_path) +config_loader = importlib.util.module_from_spec(config_loader_spec) +config_loader_spec.loader.exec_module(config_loader) comfyui_model_uri = os.path.join(os.getcwd(), "models") extension_uri = os.path.join(os.getcwd(), "custom_nodes" + os.path.sep + "ComfyUI-Model-Manager") index_uri = os.path.join(extension_uri, "index.json") #checksum_cache_uri = os.path.join(extension_uri, "checksum_cache.txt") no_preview_image = os.path.join(extension_uri, "no-preview.png") +ui_settings_uri = os.path.join(extension_uri, "ui_settings.yaml") image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") #video_extensions = (".avi", ".mp4", ".webm") # TODO: Requires ffmpeg or cv2. Cache preview frame? @@ -38,8 +46,7 @@ def folder_paths_get_supported_pt_extensions(folder_name): # Missing API functio paths = folder_paths.folder_names_and_paths if folder_name in paths: return paths[folder_name][1] - - return set(['.ckpt', '.pt', '.bin', '.pth', '.safetensors']) + return set([".ckpt", ".pt", ".bin", ".pth", ".safetensors"]) def get_safetensor_header(path): @@ -76,6 +83,49 @@ def model_type_to_dir_name(model_type): else: return model_type +def ui_rules(): + Rule = config_loader.Rule + return [ + Rule("sidebar-default-height", 0.5, float, 0.0, 1.0), + Rule("sidebar-default-width", 0.5, float, 0.0, 1.0), + Rule("model-search-always-append", "", str), + Rule("model-show-label-extensions", False, bool), + Rule("model-show-add-button", True, bool), + Rule("model-show-copy-button", True, bool), + Rule("model-add-embedding-extension", False, bool), + Rule("model-add-drag-strict-on-field", False, bool), + Rule("model-add-offset", 25, int), + ] + + +#def server_rules(): +# Rule = config_loader.Rule +# return [ +# Rule("model_extension_download_whitelist", [".safetensors"], list), +# Rule("civitai_api_key", "", str), +# ] + + +@server.PromptServer.instance.routes.get("/model-manager/settings/load") +async def load_ui_settings(request): + rules = ui_rules() + settings = config_loader.yaml_load(ui_settings_uri, rules) + return web.json_response({ "settings": settings }) + + +@server.PromptServer.instance.routes.post("/model-manager/settings/save") +async def save_ui_settings(request): + body = await request.json() + settings = body.get("settings") + rules = ui_rules() + validated_settings = config_loader.validated(rules, settings) + success = config_loader.yaml_save(ui_settings_uri, rules, validated_settings) + return web.json_response({ + "success": success, + "settings": validated_settings if success else "", + }) + + @server.PromptServer.instance.routes.get("/model-manager/image-preview") async def img_preview(request): uri = request.query.get("uri") @@ -83,7 +133,7 @@ async def img_preview(request): image_path = no_preview_image image_extension = "png" - if (uri != "no-post"): + if uri != "no-post": rel_image_path = os.path.dirname(uri) i = uri.find(os.path.sep) @@ -225,9 +275,9 @@ async def load_download_models(request): model_items = [] for model, image, base_path_index, rel_path in file_names: - name, _ = os.path.splitext(model) + # TODO: Stop sending redundant information item = { - "name": name, + "name": model, "search-path": os.path.join(model_type, rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack "path": os.path.join(rel_path, model), } @@ -269,7 +319,7 @@ def download_model_file(url, filename): with open(dl_filename, "ab") as f: for chunk in r.iter_content(chunk_size=1024): - if chunk: + if chunk is not None: downloaded_size += len(chunk) f.write(chunk) f.flush() diff --git a/config_loader.py b/config_loader.py new file mode 100644 index 0000000..1e10ff5 --- /dev/null +++ b/config_loader.py @@ -0,0 +1,65 @@ +import yaml +from dataclasses import dataclass + +@dataclass +class Rule: + key: any + value_default: any + value_type: type + value_min: int | float | None + value_max: int | float | None + + def __init__(self, key, value_default, value_type: type, value_min: int | float | None = None, value_max: int | float | None = None): + self.key = key + self.value_default = value_default + self.value_type = value_type + self.value_min = value_min + self.value_max = value_max + +def _get_valid_value(data: dict, r: Rule): + if r.value_type != type(r.value_default): + raise Exception(f"'value_type' does not match type of 'value_default'!") + value = data.get(r.key) + if value is None: + value = r.value_default + else: + try: + value = r.value_type(value) + except: + value = r.value_default + + value_is_numeric = r.value_type == int or r.value_type == float + if value_is_numeric and r.value_min: + if r.value_type != type(r.value_min): + raise Exception(f"Type of 'value_type' does not match the type of 'value_min'!") + value = max(r.value_min, value) + if value_is_numeric and r.value_max: + if r.value_type != type(r.value_max): + raise Exception(f"Type of 'value_type' does not match the type of 'value_max'!") + value = min(r.value_max, value) + + return value + +def validated(rules: list[Rule], data: dict = {}): + valid = {} + for r in rules: + valid[r.key] = _get_valid_value(data, r) + return valid + +def yaml_load(path, rules: list[Rule]): + data = {} + try: + with open(path, 'r') as file: + data = yaml.safe_load(file) + except: + pass + return validated(rules, data) + +def yaml_save(path, rules: list[Rule], data: dict) -> bool: + data = validated(rules, data) + try: + with open(path, 'w') as file: + yaml.dump(data, file) + return True + except: + return False diff --git a/web/model-manager.css b/web/model-manager.css index 5d6c7bd..fd9fc87 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -123,16 +123,6 @@ opacity: 1; } -.comfy-grid .model-button.model-button-success { - color: green; - border-color: green; -} - -.comfy-grid .model-button.model-button-failure { - color: darkred; - border-color: darkred; -} - .comfy-grid .model-label { user-select: text; } @@ -347,3 +337,41 @@ .model-manager .model-type-dropdown { flex: 1; } + +.model-manager .button-success { + color: green; + border-color: green; +} + +.model-manager .button-failure { + color: darkred; + border-color: darkred; +} + +/* model manager settings */ +.model-manager .model-manager-settings > div { + display: flex; + flex-direction: row; + align-items: center; + gap: 8px; +} + +.model-manager .model-manager-settings button { + height: 40px; + width: 120px; +} + +.model-manager .model-manager-settings input[type="number"] { + width: 50px; +} + +.search-settings-text { + width: 100%; +} + +.model-manager .model-manager-settings textarea { + width: 100%; + font-size: 1.2em; + border: solid 2px var(--border-color); + border-radius: 8px; +} diff --git a/web/model-manager.js b/web/model-manager.js index acc965c..190a05d 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -48,13 +48,36 @@ function pathToFileString(path) { return path.slice(i); } -function insertEmbeddingIntoText(currentText, embeddingFile, extensionRegex = null) { - if (extensionRegex) { - // TODO: setting.remove_extension_embedding +function removeModelExtension(file) { + // This is a bit sloppy (can assume server sends without) + const i = file.lastIndexOf("."); + if (i != -1) { + return file.substring(0, i); } - // TODO: don't add if it is already in the text? - const sep = currentText.length === 0 || currentText.slice(-1).match(/\s/) ? "" : " "; - return currentText + sep + "(embedding:" + embeddingFile + ":1.0)"; +} + +function insertEmbeddingIntoText(text, file, removeExtension) { + let name = file; + if (removeExtension) { + name = removeModelExtension(name) + } + const sep = text.length === 0 || text.slice(-1).match(/\s/) ? "" : " "; + return text + sep + "(embedding:" + name + ":1.0)"; +} + +function buttonAlert(element, success, successText = "", failureText = "", resetText = "") { + const name = success ? "button-success" : "button-failure"; + element.classList.add(name); + if (successText != "" && failureText != "") { + element.innerHTML = success ? successText : failureText; + } + // TODO: debounce would be nice to get working... + window.setTimeout((element, name, innerHTML) => { + element.classList.remove(name); + if (innerHTML != "") { + element.innerHTML = innerHTML; + } + }, 500, element, name, resetText); } class Tabs { @@ -281,20 +304,8 @@ class ModelGrid { }); } - static #buttonAlert(event, successful, innerHTML) { - const element = event.target; - const name = successful ? "model-button-success" : "model-button-failure"; - element.classList.add(name); - element.innerHTML = successful ? "✔" : "✖"; - // TODO: debounce would be nice to get working... - window.setTimeout((element, name) => { - element.classList.remove(name); - element.innerHTML = innerHTML; - }, 500, element, name); - } - - static #addModel(event, modelType, path) { - let successful = false; + static #addModel(event, modelType, path, removeEmbeddingExtension, addOffset) { + let success = false; if (modelType !== "embeddings") { const nodeType = modelNodeType(modelType); const widgetIndex = modelWidgetIndex(nodeType); @@ -305,9 +316,8 @@ class ModelGrid { let isSelectedNode = false; for (var i in selectedNodes) { const selectedNode = selectedNodes[i]; - // TODO: settings.model_add_offset - node.pos[0] = selectedNode.pos[0] + 25; - node.pos[1] = selectedNode.pos[1] + 25; + node.pos[0] = selectedNode.pos[0] + addOffset; + node.pos[1] = selectedNode.pos[1] + addOffset; isSelectedNode = true; break; } @@ -318,7 +328,7 @@ class ModelGrid { } app.graph.add(node, {doProcessChange: true}); app.canvas.selectNode(node); - successful = true; + success = true; } event.stopPropagation(); } @@ -331,27 +341,33 @@ class ModelGrid { const widgetIndex = modelWidgetIndex(nodeType); const target = selectedNode.widgets[widgetIndex].element; if (target && target.type === "textarea") { - target.value = insertEmbeddingIntoText(target.value, embeddingFile); - successful = true; + target.value = insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); + success = true; } } - if (!successful) { + if (!success) { console.warn("Try selecting a node before adding the embedding."); } event.stopPropagation(); } - this.#buttonAlert(event, successful, "✚"); + buttonAlert(event.target, success, "✔", "✖", "✚"); } - static #dragAddModel(event, modelType, path) { + static #dragAddModel(event, modelType, path, removeEmbeddingExtension, strictDragToAdd) { const target = document.elementFromPoint(event.x, event.y); if (modelType !== "embeddings" && target.id === "graph-canvas") { const nodeType = modelNodeType(modelType); const widgetIndex = modelWidgetIndex(nodeType); const pos = app.canvas.convertEventToCanvasOffset(event); const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); - //if (nodeAtPos && nodeAtPos.type === nodeType && app.canvas.processNodeWidgets(nodeAtPos, pos, event) !== nodeAtPos.widgets[widgetIndex]) { // TODO: settings.strict_model_drag - if (nodeAtPos && nodeAtPos.type === nodeType) { + + let draggedOnNode = nodeAtPos && nodeAtPos.type === nodeType; + if (strictDragToAdd) { + const draggedOnWidget = app.canvas.processNodeWidgets(nodeAtPos, pos, event) === nodeAtPos.widgets[widgetIndex]; + draggedOnNode = draggedOnNode && draggedOnWidget; + } + + if (draggedOnNode) { let node = nodeAtPos; node.widgets[widgetIndex].value = path; app.canvas.selectNode(node); @@ -374,20 +390,21 @@ class ModelGrid { if (nodeAtPos) { app.canvas.selectNode(nodeAtPos); const embeddingFile = pathToFileString(path); - target.value = insertEmbeddingIntoText(target.value, embeddingFile); + target.value = insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); event.stopPropagation(); } } } - static #copyModelToClipboard(event, modelType, path) { + static #copyModelToClipboard(event, modelType, path, removeEmbeddingExtension) { const nodeType = modelNodeType(modelType); - let successful = false; + let success = false; if (nodeType === "Embedding") { if (navigator.clipboard){ - const embeddingText = pathToFileString(path); + const embeddingFile = pathToFileString(path); + const embeddingText = insertEmbeddingIntoText("", embeddingFile, removeEmbeddingExtension); navigator.clipboard.writeText(embeddingText); - successful = true; + success = true; } else { console.warn("Cannot copy the embedding to the system clipboard; Try dragging it instead."); @@ -398,24 +415,47 @@ class ModelGrid { const widgetIndex = modelWidgetIndex(nodeType); node.widgets[widgetIndex].value = path; app.canvas.copyToClipboard([node]); - successful = true; + success = true; } else { console.warn(`Unable to copy unknown model type '${modelType}.`); } - this.#buttonAlert(event, successful, "⧉︎"); + buttonAlert(event.target, success, "✔", "✖", "⧉︎"); } - static generateInnerHtml(models, modelType) { + static generateInnerHtml(models, modelType, settingsElements) { + const showAddButton = settingsElements["model-show-add-button"].checked; + const showCopyButton = settingsElements["model-show-copy-button"].checked; + const strictDragToAdd = settingsElements["model-add-drag-strict-on-field"].checked; + const addOffset = parseInt(settingsElements["model-add-offset"].value); + const showModelExtension = settingsElements["model-show-label-extensions"].checked; + const removeEmbeddingExtension = !settingsElements["model-add-embedding-extension"].checked; if (models.length > 0) { - // TODO: settings.show_model_add_button - // TODO: settings.show_model_copy_button return models.map((item) => { const uri = item.post ?? "no-post"; const imgUrl = `/model-manager/image-preview?uri=${uri}`; - const dragAdd = (e) => ModelGrid.#dragAddModel(e, modelType, item.path); - const clickCopy = (e) => ModelGrid.#copyModelToClipboard(e, modelType, item.path); - const clickAdd = (e) => ModelGrid.#addModel(e, modelType, item.path); + let buttons = []; + if (showAddButton) { + buttons.push( + $el("button.icon-button.model-button", { + type: "button", + textContent: "⧉︎", + onclick: (e) => ModelGrid.#copyModelToClipboard(e, modelType, item.path, removeEmbeddingExtension), + draggable: false, + }) + ); + } + if (showCopyButton) { + buttons.push( + $el("button.icon-button.model-button", { + type: "button", + textContent: "✚", + onclick: (e) => ModelGrid.#addModel(e, modelType, item.path, removeEmbeddingExtension, addOffset), + draggable: false, + }) + ); + } + const dragAdd = (e) => ModelGrid.#dragAddModel(e, modelType, item.path, removeEmbeddingExtension, strictDragToAdd); return $el("div.item", {}, [ $el("img.model-preview", { src: imgUrl, @@ -429,25 +469,13 @@ class ModelGrid { $el("div.model-preview-top-right", { draggable: false, }, - [ - $el("button.icon-button.model-button", { - type: "button", - textContent: "⧉︎", - onclick: (e) => clickCopy(e), - draggable: false, - }), - $el("button.icon-button.model-button", { - type: "button", - textContent: "✚", - onclick: (e) => clickAdd(e), - draggable: false, - }), - ]), + buttons + ), $el("div.model-label", { ondragend: (e) => dragAdd(e), draggable: true, }, [ - $el("p", [item.name]) + $el("p", [showModelExtension ? item.name : removeModelExtension(item.name)]) ]), ]); }); @@ -501,10 +529,27 @@ class ModelManager extends ComfyDialog { sourceInstalledFilter: null, sourceContentFilter: null, sourceFilterBtn: null, + modelGrid: null, modelTypeSelect: null, modelContentFilter: null, + sidebarButtons: null, + + settingsTab: null, + reloadSettingsBtn: null, + saveSettingsBtn: null, + settings: { + "sidebar-default-height": null, + "sidebar-default-width": null, + "model-search-always-append": null, + "model-show-label-extensions": null, + "model-show-add-button": null, + "model-show-copy-button": null, + "model-add-embedding-extension": null, + "model-add-drag-strict-on-field": null, + "model-add-offset": null, + } }; #data = { @@ -557,7 +602,7 @@ class ModelManager extends ComfyDialog { $tabs([ $tab("Install", this.#createSourceInstall()), $tab("Models", this.#createModelTabHtml()), - $tab("Settings", []), + $tab("Settings", this.#createSettingsTabHtml()), ]), ]), ] @@ -567,6 +612,7 @@ class ModelManager extends ComfyDialog { } #init() { + this.#reloadSettings(false); this.#refreshSourceList(); this.#modelGridRefresh(); } @@ -748,15 +794,15 @@ class ModelManager extends ComfyDialog { } #modelGridUpdate() { - const searchText = this.#el.modelContentFilter.value; - // TODO: settings.always_append_to_search + const searchAppend = this.#el.settings["model-search-always-append"].value; + const searchText = this.#el.modelContentFilter.value + " " + searchAppend; const modelType = this.#el.modelTypeSelect.value; const models = this.#data.models; const modelList = ModelGrid.filter(models[modelType], searchText); const modelGrid = this.#el.modelGrid; modelGrid.innerHTML = []; - const innerHTML = ModelGrid.generateInnerHtml(modelList, modelType); + const innerHTML = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); modelGrid.append.apply(modelGrid, innerHTML); }; @@ -766,9 +812,8 @@ class ModelManager extends ComfyDialog { }; #setSidebar(event) { - // TODO: use checkboxes with 0 or 1 values set at once? - // TODO: settings.sidebar_side_width - // TODO: settings.sidebar_bottom_height + // TODO: settings["sidebar-default-width"] + // TODO: settings["sidebar-default-height"] // TODO: draggable resize? const button = event.target; const sidebarButtons = this.#el.sidebarButtons.children; @@ -795,6 +840,169 @@ class ModelManager extends ComfyDialog { modelManager.classList.add(newSidebarState); } } + + #setSettings(settings, reloadData) { + const el = this.#el.settings; + for (const [key, value] of Object.entries(settings)) { + const setting = el[key]; + if (setting) { + const type = setting.type; + switch (type) { + case "checkbox": setting.checked = Boolean(value); break; + case "range": setting.value = parseFloat(value); break; + case "textarea": setting.value = value; break; + case "number": setting.value = parseInt(value); break; + default: console.warn("Unknown settings input type!"); + } + } + } + + if (reloadData) { + // Is this slow? + this.#refreshSourceList(); + this.#modelGridRefresh(); + } + } + + async #reloadSettings(reloadData) { + const data = await request("/model-manager/settings/load"); + const settings = data["settings"]; + this.#setSettings(settings, reloadData); + buttonAlert(this.#el.reloadSettingsBtn, true); + }; + + async #saveSettings() { + let settings = {}; + for (const [setting, el] of Object.entries(this.#el.settings)) { + if (!el) { continue; } // hack + const type = el.type; + let value = null; + switch (type) { + case "checkbox": value = el.checked; break; + case "range": value = el.value; break; + case "textarea": value = el.value; break; + case "number": value = el.value; break; + default: console.warn("Unknown settings input type!"); + } + settings[setting] = value; + } + + const data = await request( + "/model-manager/settings/save", + { + method: "POST", + body: JSON.stringify({ "settings": settings }), + } + ); + const success = data["success"]; + if (success) { + const settings = data["settings"]; + this.#setSettings(settings, true); + } + buttonAlert(this.#el.saveSettingsBtn, success); + } + + #createSettingsTabHtml() { + const settingsTab = $el("div.model-manager-settings", [ + $el("h1", ["Settings"]), + $el("div", [ + $el("button", { + $: (el) => (this.#el.reloadSettingsBtn = el), + type: "button", + textContent: "Reload", // ⟳ + onclick: () => this.#reloadSettings(true), + }), + $el("button", { + $: (el) => (this.#el.saveSettingsBtn = el), + type: "button", + textContent: "Save", // 💾︎ + onclick: () => this.#saveSettings(), + }), + ]), + /* + $el("h2", ["Window"]), + $el("div", [ + $el("p", ["Default sidebar width"]), + $el("input", { + $: (el) => (this.#el.settings["sidebar-default-width"] = el), + type: "number", + value: 0.5, + min: 0.0, + max: 1.0, + step: 0.05, + }), + ]), + $el("div", [ + $el("p", ["Default sidebar height"]), + $el("input", { + $: (el) => (this.#el.settings["sidebar-default-height"] = el), + type: "number", + textContent: "Default sidebar height", + value: 0.5, + min: 0.0, + max: 1.0, + step: 0.05, + }), + ]), + */ + $el("h2", ["Model Search"]), + $el("div", [ + $el("div.search-settings-text", [ + $el("p", ["Always append to model search:"]), + $el("textarea.comfy-multiline-input", { + $: (el) => (this.#el.settings["model-search-always-append"] = el), + placeholder: "example: -nsfw", + }), + ]), + ]), + $el("div", [ + $el("input", { + $: (el) => (this.#el.settings["model-show-label-extensions"] = el), + type: "checkbox", + }), + $el("p", ["Show extensions in models tab"]), + ]), + $el("div", [ + $el("input", { + $: (el) => (this.#el.settings["model-show-add-button"] = el), + type: "checkbox", + }), + $el("p", ["Show add button"]), + ]), + $el("div", [ + $el("input", { + $: (el) => (this.#el.settings["model-show-copy-button"] = el), + type: "checkbox", + }), + $el("p", ["Show copy button"]), + ]), + $el("h2", ["Model Add"]), + $el("div", [ + $el("input", { + $: (el) => (this.#el.settings["model-add-embedding-extension"] = el), + type: "checkbox", + }), + $el("p", ["Add extension to embedding"]), + ]), + $el("div", [ + $el("input", { + $: (el) => (this.#el.settings["model-add-drag-strict-on-field"] = el), + type: "checkbox", + }), + $el("p", ["Strict dragging model onto a node's model field to add"]), + ]), + $el("div", [ + $el("p", ["Add model offset"]), + $el("input", { + $: (el) => (this.#el.settings["model-add-offset"] = el), + type: "number", + step: 5, + }), + ]), + ]); + this.#el.settingsTab = settingsTab; + return [settingsTab]; + } } let instance; From 66a15b59787f3f09312d9ee8794a55c3639d6eab Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 20 Jan 2024 21:54:26 -0500 Subject: [PATCH 13/79] View models in sub-directories of `ComfyUI/models`. --- README.md | 2 +- __init__.py | 30 +++++++++++++++++++++++------- web/model-manager.js | 42 +++++++++++++++++++++--------------------- 3 files changed, 45 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 63e958a..92c2a6b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Currently it is still missing some features it should have. - Search bar in models tab. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. - Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). -- Include models listed in ComfyUI's `extra_model_paths.yaml`. +- Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. - Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) - Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) - Right, left, top and bottom toggleable sidebar modes. diff --git a/__init__.py b/__init__.py index 253dd6b..6b1e0e2 100644 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ import os import sys +import copy import hashlib import importlib @@ -30,23 +31,38 @@ image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") #hash_buffer_size = 4096 +_folder_names_and_paths: dict[str, tuple[list[str], list[str]]] = None +def folder_paths_folder_names_and_paths(refresh = False) -> dict[str, tuple[list[str], list[str]]]: + global _folder_names_and_paths + if refresh or _folder_names_and_paths is None: + _folder_names_and_paths = {} + for item_name in os.listdir(comfyui_model_uri): + item_path = os.path.join(comfyui_model_uri, item_name) + if not os.path.isdir(item_path): + continue + if item_name in folder_paths.folder_names_and_paths: + dir_paths, extensions = copy.deepcopy(folder_paths.folder_names_and_paths[item_name]) + else: + dir_paths = [item_name] + extensions = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"] # TODO: magic values + _folder_names_and_paths[item_name] = (dir_paths, extensions) + return _folder_names_and_paths -def folder_paths_get_folder_paths(folder_name): # API function crashes querying unknown model folder - paths = folder_paths.folder_names_and_paths +def folder_paths_get_folder_paths(folder_name, refresh = False) -> list[str]: # API function crashes querying unknown model folder + paths = folder_paths_folder_names_and_paths(refresh) if folder_name in paths: - return paths[folder_name][0][:] + return paths[folder_name][0] maybe_path = os.path.join(comfyui_model_uri, folder_name) if os.path.exists(maybe_path): return [maybe_path] return [] - -def folder_paths_get_supported_pt_extensions(folder_name): # Missing API function - paths = folder_paths.folder_names_and_paths +def folder_paths_get_supported_pt_extensions(folder_name, refresh = False) -> list[str]: # Missing API function + paths = folder_paths_folder_names_and_paths(refresh) if folder_name in paths: return paths[folder_name][1] - return set([".ckpt", ".pt", ".bin", ".pth", ".safetensors"]) + return set([".ckpt", ".pt", ".bin", ".pth", ".safetensors"]) # TODO: magic values def get_safetensor_header(path): diff --git a/web/model-manager.js b/web/model-manager.js index 190a05d..45f687e 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -744,6 +744,7 @@ class ModelManager extends ComfyDialog { #createModelTabHtml() { const modelGrid = $el("div.comfy-grid"); this.#el.modelGrid = modelGrid; + return [ $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ @@ -758,22 +759,7 @@ class ModelManager extends ComfyDialog { name: "model-type", onchange: () => this.#modelGridUpdate(), }, - [ // TODO: generate based on existing model folders - $el("option", ["checkpoints"]), - $el("option", ["clip"]), - $el("option", ["clip_vision"]), - $el("option", ["controlnet"]), - $el("option", ["diffusers"]), - $el("option", ["embeddings"]), - $el("option", ["gligen"]), - $el("option", ["hypernetworks"]), - $el("option", ["loras"]), - $el("option", ["style_models"]), - $el("option", ["unet"]), - $el("option", ["upscale_models"]), - $el("option", ["vae"]), - $el("option", ["vae_approx"]), - ] + [], ), ]), $el("div.row.tab-header-flex-block", [ @@ -794,16 +780,30 @@ class ModelManager extends ComfyDialog { } #modelGridUpdate() { + const models = this.#data.models; + const modelSelect = this.#el.modelTypeSelect; + let modelType = modelSelect.value; + if (models[modelType] === undefined) { + modelType = "checkpoints"; // TODO: magic value + } + + let modelTypeOptions = []; + for (const [key, value] of Object.entries(models)) { + const el = $el("option", [key]); + modelTypeOptions.push(el); + } + modelSelect.innerHTML = ""; + modelTypeOptions.forEach(option => modelSelect.add(option)); + modelSelect.value = modelType; + const searchAppend = this.#el.settings["model-search-always-append"].value; const searchText = this.#el.modelContentFilter.value + " " + searchAppend; - const modelType = this.#el.modelTypeSelect.value; - const models = this.#data.models; const modelList = ModelGrid.filter(models[modelType], searchText); const modelGrid = this.#el.modelGrid; - modelGrid.innerHTML = []; - const innerHTML = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); - modelGrid.append.apply(modelGrid, innerHTML); + modelGrid.innerHTML = ""; + const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); + modelGrid.append.apply(modelGrid, modelGridModels); }; async #modelGridRefresh() { From 5a7d645ee2ae43904c78d6096a98c87144629b3a Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 21 Jan 2024 07:08:15 -0500 Subject: [PATCH 14/79] Added basic auto-suggest dropdown for model directories. --- README.md | 4 +- __init__.py | 63 +++++++++++++++- web/model-manager.css | 25 +++++++ web/model-manager.js | 166 ++++++++++++++++++++++++++++++++++++++---- 4 files changed, 239 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 92c2a6b..7115976 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,8 @@ Currently it is still missing some features it should have. - Search bar in models tab. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. -- Search `/`subdirectories of model directories based on your file structure (for example, `/styles/clothing`). +- Search `/`subdirectories of model directories based on your file structure (for example, `/0/1.5/styles/clothing`). + - Add `/` at the start of the search bar to see auto-complete suggestions. - Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. - Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) - Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) @@ -58,7 +59,6 @@ Currently it is still missing some features it should have. ### Search filtering and sort -- ☐ Add auto-suggest paths in search - ☐ Filters dropdown - ☐ Stable Diffusion model version/Clip/Upscale/? - ☐ Favorites diff --git a/__init__.py b/__init__.py index 6b1e0e2..850df94 100644 --- a/__init__.py +++ b/__init__.py @@ -40,6 +40,8 @@ def folder_paths_folder_names_and_paths(refresh = False) -> dict[str, tuple[list item_path = os.path.join(comfyui_model_uri, item_name) if not os.path.isdir(item_path): continue + if item_name == "configs": + continue if item_name in folder_paths.folder_names_and_paths: dir_paths, extensions = copy.deepcopy(folder_paths.folder_names_and_paths[item_name]) else: @@ -294,7 +296,7 @@ async def load_download_models(request): # TODO: Stop sending redundant information item = { "name": model, - "search-path": os.path.join(model_type, rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack + "search-path": "/" + os.path.join(model_type, str(base_path_index), rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack "path": os.path.join(rel_path, model), } if image is not None: @@ -307,6 +309,65 @@ async def load_download_models(request): return web.json_response(models) +def linear_directory_list(refresh = False) -> dict[str, list]: + model_paths = folder_paths_folder_names_and_paths(refresh) + dir_list = [] + dir_list.append({ "name": "", "childIndex": 1, "childCount": len(model_paths) }) + for model_dir_name, (model_dirs, _) in model_paths.items(): + dir_list.append({ "name": model_dir_name, "childIndex": None, "childCount": len(model_dirs) }) + for model_dir_index, (_, (model_dirs, extension_whitelist)) in enumerate(model_paths.items()): + model_dir_child_index = len(dir_list) + dir_list[model_dir_index + 1]["childIndex"] = model_dir_child_index + for dir_path_index, dir_path in enumerate(model_dirs): + dir_list.append({ "name": str(dir_path_index), "childIndex": None, "childCount": None }) + for dir_path_index, dir_path in enumerate(model_dirs): + if not os.path.exists(dir_path) or os.path.isfile(dir_path): + continue + + #dir_list.append({ "name": str(dir_path_index), "childIndex": None, "childCount": 0 }) + dir_stack = [(dir_path, model_dir_child_index + dir_path_index)] + while len(dir_stack) > 0: # DEPTH-FIRST + dir_path, dir_index = dir_stack.pop() + + dir_items = os.listdir(dir_path) + dir_items = sorted(dir_items, key=str.casefold) + + dir_list[dir_index]["childIndex"] = len(dir_list) + dir_child_count = 0 + + # TODO: sort content of directory: alphabetically + # TODO: sort content of directory: files first + + subdirs = [] + for item_name in dir_items: # BREADTH-FIRST + item_path = os.path.join(dir_path, item_name) + if os.path.isdir(item_path): + # dir + subdir_index = len(dir_list) # this must be done BEFORE `dir_list.append` + subdirs.append((item_path, subdir_index)) + dir_list.append({ "name": item_name, "childIndex": None, "childCount": 0 }) + dir_child_count += 1 + else: + # file + _, file_extension = os.path.splitext(item_name) + if extension_whitelist is None or file_extension in extension_whitelist: + dir_list.append({ "name": item_name }) + dir_child_count += 1 + dir_list[dir_index]["childCount"] = dir_child_count + subdirs.reverse() + for dir_path, subdir_index in subdirs: + dir_stack.append((dir_path, subdir_index)) + return dir_list + + +@server.PromptServer.instance.routes.get("/model-manager/directory-list") +async def directory_list(request): + #body = await request.json() + dir_list = linear_directory_list(True) + #json.dump(dir_list, sys.stdout, indent=4) + return web.json_response(dir_list) + + def_headers = { "User-Agent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" } diff --git a/web/model-manager.css b/web/model-manager.css index fd9fc87..168e8c3 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -332,12 +332,37 @@ width: 100%; } +.model-manager .search-models { + display: flex; + flex-direction: row; + flex: 1; +} + .model-manager .search-text-area, .model-manager .source-text-area, .model-manager .model-type-dropdown { flex: 1; } +.model-manager .search-dropdown { + position: absolute; + background-color: var(--bg-color); + border: 2px var(--border-color) solid; + top: 45px; + width: 94.7%; + max-height: 30vh; + overflow: auto; + border-radius: 10px; +} + +.search-dropdown:empty { + display: none; +} + +.model-manager .search-dropdown > p { + margin-left: 20px; +} + .model-manager .button-success { color: green; border-color: green; diff --git a/web/model-manager.js b/web/model-manager.js index 45f687e..52ce1a1 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -36,7 +36,10 @@ function modelNodeType(modelType) { else if (modelType === "upscale_models") { return "UpscaleModelLoader"; } else if (modelType === "vae") { return "VAELoader"; } else if (modelType === "vae_approx") { return undefined; } - else { console.warn(`ModelType ${modelType} unrecognized.`); return undefined; } + else { + //console.warn(`ModelType ${modelType} unrecognized.`); + return undefined; + } } function modelWidgetIndex(nodeType) { @@ -424,8 +427,11 @@ class ModelGrid { } static generateInnerHtml(models, modelType, settingsElements) { - const showAddButton = settingsElements["model-show-add-button"].checked; - const showCopyButton = settingsElements["model-show-copy-button"].checked; + // TODO: seperate text and model logic; getting too messy + // TODO: fallback on button failure to copy text? + const canShowButtons = modelNodeType(modelType) !== undefined; + const showAddButton = canShowButtons && settingsElements["model-show-add-button"].checked; + const showCopyButton = canShowButtons && settingsElements["model-show-copy-button"].checked; const strictDragToAdd = settingsElements["model-add-drag-strict-on-field"].checked; const addOffset = parseInt(settingsElements["model-add-offset"].value); const showModelExtension = settingsElements["model-show-label-extensions"].checked; @@ -532,6 +538,7 @@ class ModelManager extends ComfyDialog { modelGrid: null, modelTypeSelect: null, + modelDirectorySearchOptions: null, modelContentFilter: null, sidebarButtons: null, @@ -555,6 +562,8 @@ class ModelManager extends ComfyDialog { #data = { sources: [], models: {}, + modelDirectories: null, + previousModelDirectoryFilter: "", }; /** @type {SourceList} */ @@ -745,6 +754,11 @@ class ModelManager extends ComfyDialog { const modelGrid = $el("div.comfy-grid"); this.#el.modelGrid = modelGrid; + const searchDropdown = $el("div.search-dropdown", { + $: (el) => (this.#el.modelDirectorySearchOptions = el), + style: { display: "none" }, + }); + return [ $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ @@ -753,21 +767,31 @@ class ModelManager extends ComfyDialog { textContent: "⟳", onclick: () => this.#modelGridRefresh(), }), - $el("select.model-type-dropdown", - { - $: (el) => (this.#el.modelTypeSelect = el), - name: "model-type", - onchange: () => this.#modelGridUpdate(), - }, - [], - ), + $el("select.model-type-dropdown", { + $: (el) => (this.#el.modelTypeSelect = el), + name: "model-type", + onchange: () => this.#modelGridUpdate(), + }), ]), $el("div.row.tab-header-flex-block", [ - $el("input.search-text-area", { - $: (el) => (this.#el.modelContentFilter = el), - placeholder: "example: styles/clothing -.pt", - onkeyup: (e) => e.key === "Enter" && this.#modelGridUpdate(), - }), + $el("div.search-models", [ + $el("input.search-text-area", { + $: (el) => (this.#el.modelContentFilter = el), + placeholder: "example: /0/1.5/styles/clothing -.pt", + onkeyup: (e) => e.key === "Enter" && this.#modelGridUpdate(), + oninput: () => this.#updateSearchDropdown(), + onfocus: () => { + if (searchDropdown.innerHTML === "") { + searchDropdown.style.display = "none"; + } + else { + searchDropdown.style.display = "block"; + } + }, + onblur: () => { searchDropdown.style.display = "none"; }, + }), + searchDropdown, + ]), $el("button.icon-button", { type: "button", textContent: "🔍︎", @@ -782,6 +806,7 @@ class ModelManager extends ComfyDialog { #modelGridUpdate() { const models = this.#data.models; const modelSelect = this.#el.modelTypeSelect; + let modelType = modelSelect.value; if (models[modelType] === undefined) { modelType = "checkpoints"; // TODO: magic value @@ -808,6 +833,7 @@ class ModelManager extends ComfyDialog { async #modelGridRefresh() { this.#data.models = await request("/model-manager/models"); + this.#data.modelDirectories = await request("/model-manager/directory-list"); this.#modelGridUpdate(); }; @@ -1003,6 +1029,114 @@ class ModelManager extends ComfyDialog { this.#el.settingsTab = settingsTab; return [settingsTab]; } + + #getFilterDirectory(filter, directory, sep, cwd = 0) { + // TODO: directories === undefined + let filterIndex0 = 1; + while (true) { + const filterIndex1 = filter.indexOf(sep, filterIndex0); + if (filterIndex1 === -1) { + // end of filter + break; + } + + const item = directory[cwd]; + if (item["childCount"] === undefined) { + // file + break; + } + + const childCount = item["childCount"]; + if (childCount === 0) { + // directory is empty + cwd = null; + break; + } + const childIndex = item["childIndex"]; + const items = directory.slice(childIndex, childIndex + childCount); + + const word = filter.substring(filterIndex0, filterIndex1); + cwd = null; + for (let itemIndex = 0; itemIndex < items.length; itemIndex++) { + const itemName = items[itemIndex]["name"]; + if (itemName === word) { + // directory exists + cwd = childIndex + itemIndex; + break; + } + } + if (cwd === null) { + // directory does not exist + break; + } + filterIndex0 = filterIndex1 + 1; + } + return [filterIndex0, cwd]; + } + + async #updateSearchDropdown() { + const directories = this.#data.modelDirectories; + const previousFilter = this.#data.previousModelDirectoryFilter; + const searchDropdown = this.#el.modelDirectorySearchOptions; + const filter = this.#el.modelContentFilter.value; + const modelType = this.#el.modelTypeSelect.value; + + if (previousFilter !== filter) { + let options = []; + const sep = "/"; + if (filter[0] === sep) { + let initCwd = null; + const root = directories[0]; + const rootChildIndex = root["childIndex"]; + const rootChildCount = root["childCount"]; + for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { + const modelDir = directories[i]; + if (modelDir["name"] === modelType) { + initCwd = i; + break; + } + } + const [filterIndex0, cwd] = this.#getFilterDirectory( + filter, + directories, + sep, + initCwd + ); + if (cwd !== null) { + const lastWord = filter.substring(filterIndex0); + const item = directories[cwd]; + if (item["childIndex"] !== undefined) { + const childIndex = item["childIndex"]; + const childCount = item["childCount"]; + const items = directories.slice(childIndex, childIndex + childCount); + for (let i = 0; i < items.length; i++) { + const itemName = items[i]["name"]; + if (itemName.startsWith(lastWord)) { + options.push(itemName); + } + } + } + else { + const filename = item["name"]; + if (filename.startsWith(lastWord)) { + options.push(filename); + } + } + } + } + + const innerHtml = options.map((text) => { + const el = document.createElement("p"); + el.innerHTML = text; + return el; + }); + searchDropdown.innerHTML = ""; + searchDropdown.append.apply(searchDropdown, innerHtml); + searchDropdown.style.display = options.length === 0 ? "none" : "block"; + } + + this.#data.previousModelDirectoryFilter = filter; + } } let instance; From e6c7f8d1aa4d28d697bbe39ffd658dcba1a79562 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 21 Jan 2024 07:16:07 -0500 Subject: [PATCH 15/79] Update README TODO --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 7115976..65ba4bb 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,14 @@ Currently it is still missing some features it should have. ### Search filtering and sort +- ☐ Directory dropdown + - ☐ Use always filter to filter directory content auto-suggest dropdown + - ☐ Highlight selection + - ☐ Key shortcuts + - ☐ Down & Up arrows to select dropdown option + - ☐ Right arrow or enter to add selection + - ☐ Escape to loose focus on dropdown + - ☐ Generalize search dropdown for download location selection - ☐ Filters dropdown - ☐ Stable Diffusion model version/Clip/Upscale/? - ☐ Favorites From 3f20fefbb1dd123d585dce3932de8d86b3e5173a Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 21 Jan 2024 07:21:27 -0500 Subject: [PATCH 16/79] README additions --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 65ba4bb..cfbd702 100644 --- a/README.md +++ b/README.md @@ -59,8 +59,11 @@ Currently it is still missing some features it should have. ### Search filtering and sort +- ☐ Real-time search + - ☐ Check search code is optimized to avoid recalculation on every minor input change - ☐ Directory dropdown - ☐ Use always filter to filter directory content auto-suggest dropdown + - ☐ Generalize model list filtering code to reuse approach - ☐ Highlight selection - ☐ Key shortcuts - ☐ Down & Up arrows to select dropdown option From 1d158ab88520572caf53e284258aa325d311f475 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 21 Jan 2024 07:36:02 -0500 Subject: [PATCH 17/79] Remove type hints --- __init__.py | 12 ++++++------ web/model-manager.js | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/__init__.py b/__init__.py index 850df94..c82c6a2 100644 --- a/__init__.py +++ b/__init__.py @@ -31,8 +31,8 @@ image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") #hash_buffer_size = 4096 -_folder_names_and_paths: dict[str, tuple[list[str], list[str]]] = None -def folder_paths_folder_names_and_paths(refresh = False) -> dict[str, tuple[list[str], list[str]]]: +_folder_names_and_paths = None # dict[str, tuple[list[str], list[str]]] +def folder_paths_folder_names_and_paths(refresh = False): global _folder_names_and_paths if refresh or _folder_names_and_paths is None: _folder_names_and_paths = {} @@ -50,7 +50,7 @@ def folder_paths_folder_names_and_paths(refresh = False) -> dict[str, tuple[list _folder_names_and_paths[item_name] = (dir_paths, extensions) return _folder_names_and_paths -def folder_paths_get_folder_paths(folder_name, refresh = False) -> list[str]: # API function crashes querying unknown model folder +def folder_paths_get_folder_paths(folder_name, refresh = False): # API function crashes querying unknown model folder paths = folder_paths_folder_names_and_paths(refresh) if folder_name in paths: return paths[folder_name][0] @@ -60,7 +60,7 @@ def folder_paths_get_folder_paths(folder_name, refresh = False) -> list[str]: # return [maybe_path] return [] -def folder_paths_get_supported_pt_extensions(folder_name, refresh = False) -> list[str]: # Missing API function +def folder_paths_get_supported_pt_extensions(folder_name, refresh = False): # Missing API function paths = folder_paths_folder_names_and_paths(refresh) if folder_name in paths: return paths[folder_name][1] @@ -309,7 +309,7 @@ async def load_download_models(request): return web.json_response(models) -def linear_directory_list(refresh = False) -> dict[str, list]: +def linear_directory_list(refresh = False): model_paths = folder_paths_folder_names_and_paths(refresh) dir_list = [] dir_list.append({ "name": "", "childIndex": 1, "childCount": len(model_paths) }) @@ -360,7 +360,7 @@ def linear_directory_list(refresh = False) -> dict[str, list]: return dir_list -@server.PromptServer.instance.routes.get("/model-manager/directory-list") +@server.PromptServer.instance.routes.get("/model-manager/model-directory-list") async def directory_list(request): #body = await request.json() dir_list = linear_directory_list(True) diff --git a/web/model-manager.js b/web/model-manager.js index 52ce1a1..47a53eb 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -833,7 +833,7 @@ class ModelManager extends ComfyDialog { async #modelGridRefresh() { this.#data.models = await request("/model-manager/models"); - this.#data.modelDirectories = await request("/model-manager/directory-list"); + this.#data.modelDirectories = await request("/model-manager/model-directory-list"); this.#modelGridUpdate(); }; From 4637f375f0fe2b24ed937bdfe95d3eab23848f4a Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 22 Jan 2024 01:21:30 -0500 Subject: [PATCH 18/79] Fixed path bug for non-default models in ComfyUI/models + view onnx type --- __init__.py | 15 +++++++++------ web/model-manager.js | 1 - 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/__init__.py b/__init__.py index c82c6a2..e30a515 100644 --- a/__init__.py +++ b/__init__.py @@ -26,6 +26,7 @@ index_uri = os.path.join(extension_uri, "index.json") no_preview_image = os.path.join(extension_uri, "no-preview.png") ui_settings_uri = os.path.join(extension_uri, "ui_settings.yaml") +fallback_model_extensions = set([".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safetensors"]) # TODO: magic values image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") #video_extensions = (".avi", ".mp4", ".webm") # TODO: Requires ffmpeg or cv2. Cache preview frame? @@ -45,8 +46,8 @@ def folder_paths_folder_names_and_paths(refresh = False): if item_name in folder_paths.folder_names_and_paths: dir_paths, extensions = copy.deepcopy(folder_paths.folder_names_and_paths[item_name]) else: - dir_paths = [item_name] - extensions = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"] # TODO: magic values + dir_paths = [item_path] + extensions = copy.deepcopy(fallback_model_extensions) _folder_names_and_paths[item_name] = (dir_paths, extensions) return _folder_names_and_paths @@ -64,7 +65,8 @@ def folder_paths_get_supported_pt_extensions(folder_name, refresh = False): # Mi paths = folder_paths_folder_names_and_paths(refresh) if folder_name in paths: return paths[folder_name][1] - return set([".ckpt", ".pt", ".bin", ".pth", ".safetensors"]) # TODO: magic values + model_extensions = copy.deepcopy(fallback_model_extensions) + return model_extensions def get_safetensor_header(path): @@ -309,7 +311,7 @@ async def load_download_models(request): return web.json_response(models) -def linear_directory_list(refresh = False): +def linear_directory_hierarchy(refresh = False): model_paths = folder_paths_folder_names_and_paths(refresh) dir_list = [] dir_list.append({ "name": "", "childIndex": 1, "childCount": len(model_paths) }) @@ -332,7 +334,6 @@ def linear_directory_list(refresh = False): dir_items = os.listdir(dir_path) dir_items = sorted(dir_items, key=str.casefold) - dir_list[dir_index]["childIndex"] = len(dir_list) dir_child_count = 0 # TODO: sort content of directory: alphabetically @@ -353,6 +354,8 @@ def linear_directory_list(refresh = False): if extension_whitelist is None or file_extension in extension_whitelist: dir_list.append({ "name": item_name }) dir_child_count += 1 + if dir_child_count > 0: + dir_list[dir_index]["childIndex"] = len(dir_list) - dir_child_count dir_list[dir_index]["childCount"] = dir_child_count subdirs.reverse() for dir_path, subdir_index in subdirs: @@ -363,7 +366,7 @@ def linear_directory_list(refresh = False): @server.PromptServer.instance.routes.get("/model-manager/model-directory-list") async def directory_list(request): #body = await request.json() - dir_list = linear_directory_list(True) + dir_list = linear_directory_hierarchy(True) #json.dump(dir_list, sys.stdout, indent=4) return web.json_response(dir_list) diff --git a/web/model-manager.js b/web/model-manager.js index 47a53eb..574156c 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1049,7 +1049,6 @@ class ModelManager extends ComfyDialog { const childCount = item["childCount"]; if (childCount === 0) { // directory is empty - cwd = null; break; } const childIndex = item["childIndex"]; From f1597ce0b04353492f18079462da10f653941ca6 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 22 Jan 2024 22:58:26 -0500 Subject: [PATCH 19/79] Partial fix for tab visibility when screen narrow --- README.md | 1 + web/model-manager.css | 2 ++ 2 files changed, 3 insertions(+) diff --git a/README.md b/README.md index cfbd702..2e31d91 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Currently it is still missing some features it should have. ### Model Copying - ☐ Copy image? +- ☐ Copy model path? ### Model info window/panel (server load/send on demand) diff --git a/web/model-manager.css b/web/model-manager.css index 168e8c3..5ed0f23 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -28,8 +28,10 @@ border-bottom: none; border-top-left-radius: 8px; border-top-right-radius: 8px; + background-color: var(--comfy-menu-bg); cursor: pointer; margin-bottom: 0px; + z-index: 1; } .comfy-tabs-head .head-item.active { From 76f243d1b6948c1b3c933c178afd2bcd49c097ab Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 02:00:24 -0500 Subject: [PATCH 20/79] Persistent search setting + directory dropdown cut off bug --- __init__.py | 1 + web/model-manager.css | 2 +- web/model-manager.js | 90 ++++++++++++++++++++++++++++--------------- 3 files changed, 60 insertions(+), 33 deletions(-) diff --git a/__init__.py b/__init__.py index e30a515..d58dd68 100644 --- a/__init__.py +++ b/__init__.py @@ -109,6 +109,7 @@ def ui_rules(): Rule("sidebar-default-height", 0.5, float, 0.0, 1.0), Rule("sidebar-default-width", 0.5, float, 0.0, 1.0), Rule("model-search-always-append", "", str), + Rule("model-persistent-search", True, bool), Rule("model-show-label-extensions", False, bool), Rule("model-show-add-button", True, bool), Rule("model-show-copy-button", True, bool), diff --git a/web/model-manager.css b/web/model-manager.css index 5ed0f23..37b6d17 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -279,7 +279,7 @@ .model-manager .comfy-tabs-body > div { position: relative; - max-height: 100%; + height: 100%; padding: 0 16px; overflow-x: auto; } diff --git a/web/model-manager.js b/web/model-manager.js index 574156c..a8fe068 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -21,26 +21,22 @@ function request(url, options) { }); } -function modelNodeType(modelType) { - if (modelType === "checkpoints") { return "CheckpointLoaderSimple"; } - else if (modelType === "clip") { return "CLIPLoader"; } - else if (modelType === "clip_vision") { return "CLIPVisionLoader"; } - else if (modelType === "controlnet") { return "ControlNetLoader"; } - else if (modelType === "diffusers") { return "DiffusersLoader"; } - else if (modelType === "embeddings") { return "Embedding"; } - else if (modelType === "gligen") { return "GLIGENLoader"; } - else if (modelType === "hypernetworks") { return "HypernetworkLoader"; } - else if (modelType === "loras") { return "LoraLoader"; } - else if (modelType === "style_models") { return "StyleModelLoader"; } - else if (modelType === "unet") { return "UNETLoader"; } - else if (modelType === "upscale_models") { return "UpscaleModelLoader"; } - else if (modelType === "vae") { return "VAELoader"; } - else if (modelType === "vae_approx") { return undefined; } - else { - //console.warn(`ModelType ${modelType} unrecognized.`); - return undefined; - } -} +const modelNodeType = { + "checkpoints": "CheckpointLoaderSimple", + "clip": "CLIPLoader", + "clip_vision": "CLIPVisionLoader", + "controlnet": "ControlNetLoader", + "diffusers": "DiffusersLoader", + "embeddings": "Embedding", + "gligen": "GLIGENLoader", + "hypernetworks": "HypernetworkLoader", + "loras": "LoraLoader", + "style_models": "StyleModelLoader", + "unet": "UNETLoader", + "upscale_models": "UpscaleModelLoader", + "vae": "VAELoader", + "vae_approx": undefined, +}; function modelWidgetIndex(nodeType) { return 0; @@ -246,6 +242,8 @@ class SourceList { .toLowerCase()) .filter(Boolean); + // TODO: handle /directory keywords seperately/differently + let fields = ["type", "name", "base", "description"]; const regexSHA256 = /^[a-f0-9]{64}$/gi; const newList = list.filter((element) => { @@ -310,7 +308,7 @@ class ModelGrid { static #addModel(event, modelType, path, removeEmbeddingExtension, addOffset) { let success = false; if (modelType !== "embeddings") { - const nodeType = modelNodeType(modelType); + const nodeType = modelNodeType[modelType]; const widgetIndex = modelWidgetIndex(nodeType); let node = LiteGraph.createNode(nodeType, null, []); if (node) { @@ -359,7 +357,7 @@ class ModelGrid { static #dragAddModel(event, modelType, path, removeEmbeddingExtension, strictDragToAdd) { const target = document.elementFromPoint(event.x, event.y); if (modelType !== "embeddings" && target.id === "graph-canvas") { - const nodeType = modelNodeType(modelType); + const nodeType = modelNodeType[modelType]; const widgetIndex = modelWidgetIndex(nodeType); const pos = app.canvas.convertEventToCanvasOffset(event); const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); @@ -400,7 +398,7 @@ class ModelGrid { } static #copyModelToClipboard(event, modelType, path, removeEmbeddingExtension) { - const nodeType = modelNodeType(modelType); + const nodeType = modelNodeType[modelType]; let success = false; if (nodeType === "Embedding") { if (navigator.clipboard){ @@ -429,7 +427,7 @@ class ModelGrid { static generateInnerHtml(models, modelType, settingsElements) { // TODO: seperate text and model logic; getting too messy // TODO: fallback on button failure to copy text? - const canShowButtons = modelNodeType(modelType) !== undefined; + const canShowButtons = modelNodeType[modelType] !== undefined; const showAddButton = canShowButtons && settingsElements["model-show-add-button"].checked; const showCopyButton = canShowButtons && settingsElements["model-show-copy-button"].checked; const strictDragToAdd = settingsElements["model-add-drag-strict-on-field"].checked; @@ -550,6 +548,7 @@ class ModelManager extends ComfyDialog { "sidebar-default-height": null, "sidebar-default-width": null, "model-search-always-append": null, + "model-persistent-search": null, "model-show-label-extensions": null, "model-show-add-button": null, "model-show-copy-button": null, @@ -563,7 +562,8 @@ class ModelManager extends ComfyDialog { sources: [], models: {}, modelDirectories: null, - previousModelDirectoryFilter: "", + prevousModelFilters: [], + prevousModelType: undefined, }; /** @type {SourceList} */ @@ -812,6 +812,24 @@ class ModelManager extends ComfyDialog { modelType = "checkpoints"; // TODO: magic value } + const prevousModelType = this.#el.prevousModelType; + if (modelType !== prevousModelType) { + const modelFilter = this.#el.modelContentFilter; + const filterText = modelFilter.value; + if (this.#el.settings["model-persistent-search"].checked) { + this.#data.prevousModelFilters = []; + } + else { + const prevousModelFilters = this.#data.prevousModelFilters; + // cache previous filter text + prevousModelFilters[prevousModelType] = filterText; + // read cached filter text + modelFilter.value = prevousModelFilters[modelType] ?? ""; + } + this.#el.prevousModelType = modelType; + this.#updateSearchDropdown(); + } + let modelTypeOptions = []; for (const [key, value] of Object.entries(models)) { const el = $el("option", [key]); @@ -974,19 +992,26 @@ class ModelManager extends ComfyDialog { $el("h2", ["Model Search"]), $el("div", [ $el("div.search-settings-text", [ - $el("p", ["Always append to model search:"]), + $el("p", ["Always include in model search:"]), $el("textarea.comfy-multiline-input", { $: (el) => (this.#el.settings["model-search-always-append"] = el), placeholder: "example: -nsfw", }), ]), ]), + $el("div", [ + $el("input", { + $: (el) => (this.#el.settings["model-persistent-search"] = el), + type: "checkbox", + }), + $el("p", ["Search text persistent across model types"]), + ]), $el("div", [ $el("input", { $: (el) => (this.#el.settings["model-show-label-extensions"] = el), type: "checkbox", }), - $el("p", ["Show extensions in models tab"]), + $el("p", ["Show model file extension in labels"]), ]), $el("div", [ $el("input", { @@ -1018,12 +1043,12 @@ class ModelManager extends ComfyDialog { $el("p", ["Strict dragging model onto a node's model field to add"]), ]), $el("div", [ - $el("p", ["Add model offset"]), $el("input", { $: (el) => (this.#el.settings["model-add-offset"] = el), type: "number", step: 5, }), + $el("p", ["Add model offset"]), ]), ]); this.#el.settingsTab = settingsTab; @@ -1074,11 +1099,12 @@ class ModelManager extends ComfyDialog { } async #updateSearchDropdown() { - const directories = this.#data.modelDirectories; - const previousFilter = this.#data.previousModelDirectoryFilter; + const modelType = this.#el.modelTypeSelect.value; const searchDropdown = this.#el.modelDirectorySearchOptions; const filter = this.#el.modelContentFilter.value; - const modelType = this.#el.modelTypeSelect.value; + + const directories = this.#data.modelDirectories; + const previousFilter = this.#data.prevousModelFilters[modelType]; if (previousFilter !== filter) { let options = []; @@ -1134,7 +1160,7 @@ class ModelManager extends ComfyDialog { searchDropdown.style.display = options.length === 0 ? "none" : "block"; } - this.#data.previousModelDirectoryFilter = filter; + this.#data.prevousModelFilters[modelType] = filter; } } From fe098b2af7caea7c031e878b461721d3ca57e273 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 02:14:19 -0500 Subject: [PATCH 21/79] Bug fix: update dropdown on model grid update --- web/model-manager.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index a8fe068..0a72901 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -806,7 +806,7 @@ class ModelManager extends ComfyDialog { #modelGridUpdate() { const models = this.#data.models; const modelSelect = this.#el.modelTypeSelect; - + let modelType = modelSelect.value; if (models[modelType] === undefined) { modelType = "checkpoints"; // TODO: magic value @@ -827,7 +827,6 @@ class ModelManager extends ComfyDialog { modelFilter.value = prevousModelFilters[modelType] ?? ""; } this.#el.prevousModelType = modelType; - this.#updateSearchDropdown(); } let modelTypeOptions = []; @@ -847,13 +846,15 @@ class ModelManager extends ComfyDialog { modelGrid.innerHTML = ""; const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); modelGrid.append.apply(modelGrid, modelGridModels); - }; + + this.#updateSearchDropdown(); + } async #modelGridRefresh() { this.#data.models = await request("/model-manager/models"); this.#data.modelDirectories = await request("/model-manager/model-directory-list"); this.#modelGridUpdate(); - }; + } #setSidebar(event) { // TODO: settings["sidebar-default-width"] @@ -913,7 +914,7 @@ class ModelManager extends ComfyDialog { const settings = data["settings"]; this.#setSettings(settings, reloadData); buttonAlert(this.#el.reloadSettingsBtn, true); - }; + } async #saveSettings() { let settings = {}; From eb7a977d88c3952e53fbe9752993c9121121879b Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 02:31:49 -0500 Subject: [PATCH 22/79] Dropdown bug --- web/model-manager.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 0a72901..f2f5b48 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -847,7 +847,7 @@ class ModelManager extends ComfyDialog { const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); modelGrid.append.apply(modelGrid, modelGridModels); - this.#updateSearchDropdown(); + this.#updateSearchDropdown(true); } async #modelGridRefresh() { @@ -1099,7 +1099,7 @@ class ModelManager extends ComfyDialog { return [filterIndex0, cwd]; } - async #updateSearchDropdown() { + async #updateSearchDropdown(setHidden = false) { const modelType = this.#el.modelTypeSelect.value; const searchDropdown = this.#el.modelDirectorySearchOptions; const filter = this.#el.modelContentFilter.value; @@ -1158,7 +1158,7 @@ class ModelManager extends ComfyDialog { }); searchDropdown.innerHTML = ""; searchDropdown.append.apply(searchDropdown, innerHtml); - searchDropdown.style.display = options.length === 0 ? "none" : "block"; + searchDropdown.style.display = setHidden || options.length == 0 ? "none" : "block"; } this.#data.prevousModelFilters[modelType] = filter; From 6ba66842e3ed56173c617708af3671a186fc23e6 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 02:48:06 -0500 Subject: [PATCH 23/79] Model search dropdown bug fix x3 --- web/model-manager.js | 93 +++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 52 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index f2f5b48..96d9726 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -780,14 +780,7 @@ class ModelManager extends ComfyDialog { placeholder: "example: /0/1.5/styles/clothing -.pt", onkeyup: (e) => e.key === "Enter" && this.#modelGridUpdate(), oninput: () => this.#updateSearchDropdown(), - onfocus: () => { - if (searchDropdown.innerHTML === "") { - searchDropdown.style.display = "none"; - } - else { - searchDropdown.style.display = "block"; - } - }, + onfocus: () => this.#updateSearchDropdown(), onblur: () => { searchDropdown.style.display = "none"; }, }), searchDropdown, @@ -846,8 +839,6 @@ class ModelManager extends ComfyDialog { modelGrid.innerHTML = ""; const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); modelGrid.append.apply(modelGrid, modelGridModels); - - this.#updateSearchDropdown(true); } async #modelGridRefresh() { @@ -1005,7 +996,7 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.settings["model-persistent-search"] = el), type: "checkbox", }), - $el("p", ["Search text persistent across model types"]), + $el("p", ["Persistent search text across model types"]), ]), $el("div", [ $el("input", { @@ -1099,54 +1090,52 @@ class ModelManager extends ComfyDialog { return [filterIndex0, cwd]; } - async #updateSearchDropdown(setHidden = false) { + async #updateSearchDropdown() { const modelType = this.#el.modelTypeSelect.value; const searchDropdown = this.#el.modelDirectorySearchOptions; const filter = this.#el.modelContentFilter.value; const directories = this.#data.modelDirectories; - const previousFilter = this.#data.prevousModelFilters[modelType]; + //const previousFilter = this.#data.prevousModelFilters[modelType]; - if (previousFilter !== filter) { - let options = []; - const sep = "/"; - if (filter[0] === sep) { - let initCwd = null; - const root = directories[0]; - const rootChildIndex = root["childIndex"]; - const rootChildCount = root["childCount"]; - for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { - const modelDir = directories[i]; - if (modelDir["name"] === modelType) { - initCwd = i; - break; + let options = []; + const sep = "/"; + if (filter[0] === sep) { + let initCwd = null; + const root = directories[0]; + const rootChildIndex = root["childIndex"]; + const rootChildCount = root["childCount"]; + for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { + const modelDir = directories[i]; + if (modelDir["name"] === modelType) { + initCwd = i; + break; + } + } + const [filterIndex0, cwd] = this.#getFilterDirectory( + filter, + directories, + sep, + initCwd + ); + if (cwd !== null) { + const lastWord = filter.substring(filterIndex0); + const item = directories[cwd]; + if (item["childIndex"] !== undefined) { + const childIndex = item["childIndex"]; + const childCount = item["childCount"]; + const items = directories.slice(childIndex, childIndex + childCount); + for (let i = 0; i < items.length; i++) { + const itemName = items[i]["name"]; + if (itemName.startsWith(lastWord)) { + options.push(itemName); + } } } - const [filterIndex0, cwd] = this.#getFilterDirectory( - filter, - directories, - sep, - initCwd - ); - if (cwd !== null) { - const lastWord = filter.substring(filterIndex0); - const item = directories[cwd]; - if (item["childIndex"] !== undefined) { - const childIndex = item["childIndex"]; - const childCount = item["childCount"]; - const items = directories.slice(childIndex, childIndex + childCount); - for (let i = 0; i < items.length; i++) { - const itemName = items[i]["name"]; - if (itemName.startsWith(lastWord)) { - options.push(itemName); - } - } - } - else { - const filename = item["name"]; - if (filename.startsWith(lastWord)) { - options.push(filename); - } + else { + const filename = item["name"]; + if (filename.startsWith(lastWord)) { + options.push(filename); } } } @@ -1158,7 +1147,7 @@ class ModelManager extends ComfyDialog { }); searchDropdown.innerHTML = ""; searchDropdown.append.apply(searchDropdown, innerHtml); - searchDropdown.style.display = setHidden || options.length == 0 ? "none" : "block"; + searchDropdown.style.display = options.length === 0 ? "none" : "block"; } this.#data.prevousModelFilters[modelType] = filter; From 55fcd4f4058082c93e79ea3fb2308582b5ca1dfb Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 03:08:44 -0500 Subject: [PATCH 24/79] Hide search dropdown on enter. Unfocus text input on escape. --- web/model-manager.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 96d9726..33569b8 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -778,7 +778,17 @@ class ModelManager extends ComfyDialog { $el("input.search-text-area", { $: (el) => (this.#el.modelContentFilter = el), placeholder: "example: /0/1.5/styles/clothing -.pt", - onkeyup: (e) => e.key === "Enter" && this.#modelGridUpdate(), + onkeyup: (e) => { + if (e.key === "Enter") { + this.#modelGridUpdate(); + searchDropdown.style.display = "none"; + e.stopPropagation(); + } + else if (e.key === "Escape") { + e.target.blur(); + e.stopPropagation(); + } + }, oninput: () => this.#updateSearchDropdown(), onfocus: () => this.#updateSearchDropdown(), onblur: () => { searchDropdown.style.display = "none"; }, @@ -807,15 +817,14 @@ class ModelManager extends ComfyDialog { const prevousModelType = this.#el.prevousModelType; if (modelType !== prevousModelType) { - const modelFilter = this.#el.modelContentFilter; - const filterText = modelFilter.value; if (this.#el.settings["model-persistent-search"].checked) { this.#data.prevousModelFilters = []; } else { + const modelFilter = this.#el.modelContentFilter; const prevousModelFilters = this.#data.prevousModelFilters; // cache previous filter text - prevousModelFilters[prevousModelType] = filterText; + prevousModelFilters[prevousModelType] = modelFilter.value; // read cached filter text modelFilter.value = prevousModelFilters[modelType] ?? ""; } From 0a6da43af35e030e8ea8052fa684076fd361a6ef Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 03:10:59 -0500 Subject: [PATCH 25/79] escape key down --- web/model-manager.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/web/model-manager.js b/web/model-manager.js index 33569b8..41db1f3 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -784,7 +784,9 @@ class ModelManager extends ComfyDialog { searchDropdown.style.display = "none"; e.stopPropagation(); } - else if (e.key === "Escape") { + }, + onkeydown: (e) => { + if (e.key === "Escape") { e.target.blur(); e.stopPropagation(); } From d7d5e79a55fdbe850666dce636253cd456b321d8 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 21:45:48 -0500 Subject: [PATCH 26/79] photomaker node add/copy button support --- web/model-manager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/model-manager.js b/web/model-manager.js index 41db1f3..b175dde 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -30,6 +30,7 @@ const modelNodeType = { "embeddings": "Embedding", "gligen": "GLIGENLoader", "hypernetworks": "HypernetworkLoader", + "photomaker": "PhotoMakerLoader", "loras": "LoraLoader", "style_models": "StyleModelLoader", "unet": "UNETLoader", @@ -758,7 +759,7 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.modelDirectorySearchOptions = el), style: { display: "none" }, }); - + return [ $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ From a14ada371a13d2a10fdc3e2112441255910c7b1d Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 22:31:31 -0500 Subject: [PATCH 27/79] Bug: dropdown visible on normal input --- web/model-manager.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/model-manager.js b/web/model-manager.js index b175dde..2065b38 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1161,6 +1161,9 @@ class ModelManager extends ComfyDialog { searchDropdown.append.apply(searchDropdown, innerHtml); searchDropdown.style.display = options.length === 0 ? "none" : "block"; } + else { + searchDropdown.style.display = "none"; + } this.#data.prevousModelFilters[modelType] = filter; } From 7fdef9e65b8a718d0c53dac0f96e6227c4b51d06 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 23:29:44 -0500 Subject: [PATCH 28/79] Added missing JSDocs --- web/model-manager.js | 347 ++++++++++++++++++++++++++++--------------- 1 file changed, 226 insertions(+), 121 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 2065b38..8854d4b 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -2,6 +2,11 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; import { ComfyDialog, $el } from "../../scripts/ui.js"; +/** + * @param {Function} callback + * @param {number | undefined} delay + * @returns {Function} + */ function debounce(callback, delay) { let timeoutId = null; return (...args) => { @@ -12,6 +17,11 @@ function debounce(callback, delay) { }; } +/** + * @param {string} url + * @param {any} options + * @returns {Promise} + */ function request(url, options) { return new Promise((resolve, reject) => { api.fetchApi(url, options) @@ -39,15 +49,123 @@ const modelNodeType = { "vae_approx": undefined, }; +/** + * @param {HTMLDivElement} dropdown + * @param {Array.<{name: string, childCount: ?int, childIndex: ?int}>} directories + * @param {string} modelType + * @param {string} filter + */ +function updateDirectorySuggestionDropdown(dropdown, directories, modelType, filter) { + let options = []; + const sep = "/"; + if (filter[0] === sep) { + let cwd = null; + const root = directories[0]; + const rootChildIndex = root["childIndex"]; + const rootChildCount = root["childCount"]; + for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { + const modelDir = directories[i]; + if (modelDir["name"] === modelType) { + cwd = i; + break; + } + } + + // TODO: directories === undefined + let filterIndex0 = 1; + while (true) { + const filterIndex1 = filter.indexOf(sep, filterIndex0); + if (filterIndex1 === -1) { + // end of filter + break; + } + + const item = directories[cwd]; + if (item["childCount"] === undefined) { + // file + break; + } + + const childCount = item["childCount"]; + if (childCount === 0) { + // directory is empty + break; + } + const childIndex = item["childIndex"]; + const items = directories.slice(childIndex, childIndex + childCount); + + const word = filter.substring(filterIndex0, filterIndex1); + cwd = null; + for (let itemIndex = 0; itemIndex < items.length; itemIndex++) { + const itemName = items[itemIndex]["name"]; + if (itemName === word) { + // directory exists + cwd = childIndex + itemIndex; + break; + } + } + if (cwd === null) { + // directory does not exist + break; + } + filterIndex0 = filterIndex1 + 1; + } + + if (cwd !== null) { + const lastWord = filter.substring(filterIndex0); + const item = directories[cwd]; + if (item["childIndex"] !== undefined) { + const childIndex = item["childIndex"]; + const childCount = item["childCount"]; + const items = directories.slice(childIndex, childIndex + childCount); + for (let i = 0; i < items.length; i++) { + const itemName = items[i]["name"]; + if (itemName.startsWith(lastWord)) { + options.push(itemName); + } + } + } + else { + const filename = item["name"]; + if (filename.startsWith(lastWord)) { + options.push(filename); + } + } + } + + const innerHtml = options.map((text) => { + return $el("p", [text]); + }); + dropdown.innerHTML = ""; + dropdown.append.apply(dropdown, innerHtml); + dropdown.style.display = options.length === 0 ? "none" : "block"; + } + else { + dropdown.style.display = "none"; + } +} + +/** + * @param {string} nodeType + * @returns {int} + */ function modelWidgetIndex(nodeType) { return 0; } +/** + * @param {string} path + * @returns {string} + */ function pathToFileString(path) { const i = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1; return path.slice(i); } +/** + * @param {string} file + * @returns {string | undefined} + */ function removeModelExtension(file) { // This is a bit sloppy (can assume server sends without) const i = file.lastIndexOf("."); @@ -56,6 +174,12 @@ function removeModelExtension(file) { } } +/** + * @param {string} text + * @param {string} file + * @param {boolean} removeExtension + * @returns {string} + */ function insertEmbeddingIntoText(text, file, removeExtension) { let name = file; if (removeExtension) { @@ -65,6 +189,13 @@ function insertEmbeddingIntoText(text, file, removeExtension) { return text + sep + "(embedding:" + name + ":1.0)"; } +/** + * @param {HTMLButtonElement} element + * @param {boolean} success + * @param {string} [successText=""] + * @param {string} [failureText=""] + * @param {string} [resetText=""] + */ function buttonAlert(element, success, successText = "", failureText = "", resetText = "") { const name = success ? "button-success" : "button-failure"; element.classList.add(name); @@ -87,7 +218,7 @@ class Tabs { #body = {}; /** - * @param {Array} tabs + * @param {HTMLDivElement[]} tabs */ constructor(tabs) { const head = []; @@ -123,6 +254,9 @@ class Tabs { #active = undefined; + /** + * @param {string} name + */ active(name) { this.#active = name; Object.keys(this.#head).forEach((key) => { @@ -138,8 +272,8 @@ class Tabs { } /** - * @param {Record} option - * @param {Array} tabs + * @param {Record} tabs + * @returns {HTMLDivElement[]} */ function $tabs(tabs) { const instance = new Tabs(tabs); @@ -148,7 +282,7 @@ function $tabs(tabs) { /** * @param {string} name - * @param {Array} el + * @param {HTMLDivElement[]} el * @returns {HTMLDivElement} */ function $tab(name, el) { @@ -165,17 +299,17 @@ class SourceList { * @prop {Function} render */ - /** @type {Array} */ + /** @type {Column[]} */ #columns = []; - /** @type {Array>} */ + /** @type {Record[]} */ #dataSource = []; /** @type {HTMLDivElement} */ #tbody = null; /** - * @param {Array} columns + * @param {Column[]} columns */ constructor(columns) { this.#columns = columns; @@ -203,11 +337,17 @@ class SourceList { ]); } + /** + * @param {Array} dataSource + */ setData(dataSource) { this.#dataSource = dataSource; this.#updateList(); } + /** + * @returns {Array} + */ getData() { return this.#dataSource; } @@ -232,8 +372,13 @@ class SourceList { ); } + /** + * @param {Array} list + * @param {string} searchString + * @param {string} installedType + */ filterList(list, searchString, installedType) { - /** @type {Array} */ + /** @type {string[]} */ const keywords = searchString .replace("*", " ") .split(/(-?".*?"|[^\s"]+)+/g) @@ -275,8 +420,13 @@ class SourceList { } class ModelGrid { + /** + * @param {Array} list + * @param {string} searchString + * @returns {Array} + */ static filter(list, searchString) { - /** @type {Array} */ + /** @type {string[]} */ const keywords = searchString .replace("*", " ") .split(/(-?".*?"|[^\s"]+)+/g) @@ -306,6 +456,13 @@ class ModelGrid { }); } + /** + * @param {Event} event + * @param {string} modelType + * @param {string} path + * @param {boolean} removeEmbeddingExtension + * @param {int} addOffset + */ static #addModel(event, modelType, path, removeEmbeddingExtension, addOffset) { let success = false; if (modelType !== "embeddings") { @@ -355,6 +512,13 @@ class ModelGrid { buttonAlert(event.target, success, "✔", "✖", "✚"); } + /** + * @param {Event} event + * @param {string} modelType + * @param {string} path + * @param {boolean} removeEmbeddingExtension + * @param {boolean} strictDragToAdd + */ static #dragAddModel(event, modelType, path, removeEmbeddingExtension, strictDragToAdd) { const target = document.elementFromPoint(event.x, event.y); if (modelType !== "embeddings" && target.id === "graph-canvas") { @@ -398,6 +562,12 @@ class ModelGrid { } } + /** + * @param {Event} event + * @param {string} modelType + * @param {string} path + * @param {boolean} removeEmbeddingExtension + */ static #copyModelToClipboard(event, modelType, path, removeEmbeddingExtension) { const nodeType = modelNodeType[modelType]; let success = false; @@ -425,6 +595,12 @@ class ModelGrid { buttonAlert(event.target, success, "✔", "✖", "⧉︎"); } + /** + * @param {Array} models + * @param {string} modelType + * @param {Object.} settingsElements + * @returns {HTMLElement[]} + */ static generateInnerHtml(models, modelType, settingsElements) { // TODO: seperate text and model logic; getting too messy // TODO: fallback on button failure to copy text? @@ -490,6 +666,10 @@ class ModelGrid { } } +/** + * @param {Any} attr + * @returns {HTMLDivElement} + */ function $radioGroup(attr) { const { name = Date.now(), onchange, options = [], $ } = attr; @@ -627,6 +807,9 @@ class ModelManager extends ComfyDialog { this.#modelGridRefresh(); } + /** + * @returns {HTMLDivElement[]} + */ #createSourceInstall() { this.#createSourceList(); return [ @@ -672,6 +855,9 @@ class ModelManager extends ComfyDialog { ]; } + /** + * @returns {HTMLElement} + */ #createSourceList() { const sourceList = new SourceList([ { @@ -751,6 +937,9 @@ class ModelManager extends ComfyDialog { ); } + /** + * @returns {HTMLElement} + */ #createModelTabHtml() { const modelGrid = $el("div.comfy-grid"); this.#el.modelGrid = modelGrid; @@ -792,8 +981,8 @@ class ModelManager extends ComfyDialog { e.stopPropagation(); } }, - oninput: () => this.#updateSearchDropdown(), - onfocus: () => this.#updateSearchDropdown(), + oninput: () => this.#modelUpdateFilterDropdown(), + onfocus: () => this.#modelUpdateFilterDropdown(), onblur: () => { searchDropdown.style.display = "none"; }, }), searchDropdown, @@ -859,12 +1048,28 @@ class ModelManager extends ComfyDialog { this.#modelGridUpdate(); } + async #modelUpdateFilterDropdown() { + const filter = this.#el.modelContentFilter.value; + updateDirectorySuggestionDropdown( + this.#el.modelDirectorySearchOptions, + this.#data.modelDirectories, + this.#el.modelTypeSelect.value, + filter + ); + this.#data.prevousModelFilters[modelType] = filter; + } + + /** + * @param {Event} event + */ #setSidebar(event) { // TODO: settings["sidebar-default-width"] // TODO: settings["sidebar-default-height"] // TODO: draggable resize? const button = event.target; + const modelManager = this.element; const sidebarButtons = this.#el.sidebarButtons.children; + let buttonIndex; for (buttonIndex = 0; buttonIndex < sidebarButtons.length; buttonIndex++) { if (sidebarButtons[buttonIndex] === button) { @@ -872,7 +1077,6 @@ class ModelManager extends ComfyDialog { } } - const modelManager = this.element; const sidebarStates = ["sidebar-left", "sidebar-top", "sidebar-bottom", "sidebar-right"]; let stateIndex; for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { @@ -889,6 +1093,10 @@ class ModelManager extends ComfyDialog { } } + /** + * @param {HTMLInputElement[]} settings + * @param {boolean} reloadData + */ #setSettings(settings, reloadData) { const el = this.#el.settings; for (const [key, value] of Object.entries(settings)) { @@ -912,6 +1120,9 @@ class ModelManager extends ComfyDialog { } } + /** + * @param {boolean} reloadData + */ async #reloadSettings(reloadData) { const data = await request("/model-manager/settings/load"); const settings = data["settings"]; @@ -950,6 +1161,9 @@ class ModelManager extends ComfyDialog { buttonAlert(this.#el.saveSettingsBtn, success); } + /** + * @returns {HTMLElement[]} + */ #createSettingsTabHtml() { const settingsTab = $el("div.model-manager-settings", [ $el("h1", ["Settings"]), @@ -1058,115 +1272,6 @@ class ModelManager extends ComfyDialog { this.#el.settingsTab = settingsTab; return [settingsTab]; } - - #getFilterDirectory(filter, directory, sep, cwd = 0) { - // TODO: directories === undefined - let filterIndex0 = 1; - while (true) { - const filterIndex1 = filter.indexOf(sep, filterIndex0); - if (filterIndex1 === -1) { - // end of filter - break; - } - - const item = directory[cwd]; - if (item["childCount"] === undefined) { - // file - break; - } - - const childCount = item["childCount"]; - if (childCount === 0) { - // directory is empty - break; - } - const childIndex = item["childIndex"]; - const items = directory.slice(childIndex, childIndex + childCount); - - const word = filter.substring(filterIndex0, filterIndex1); - cwd = null; - for (let itemIndex = 0; itemIndex < items.length; itemIndex++) { - const itemName = items[itemIndex]["name"]; - if (itemName === word) { - // directory exists - cwd = childIndex + itemIndex; - break; - } - } - if (cwd === null) { - // directory does not exist - break; - } - filterIndex0 = filterIndex1 + 1; - } - return [filterIndex0, cwd]; - } - - async #updateSearchDropdown() { - const modelType = this.#el.modelTypeSelect.value; - const searchDropdown = this.#el.modelDirectorySearchOptions; - const filter = this.#el.modelContentFilter.value; - - const directories = this.#data.modelDirectories; - //const previousFilter = this.#data.prevousModelFilters[modelType]; - - let options = []; - const sep = "/"; - if (filter[0] === sep) { - let initCwd = null; - const root = directories[0]; - const rootChildIndex = root["childIndex"]; - const rootChildCount = root["childCount"]; - for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { - const modelDir = directories[i]; - if (modelDir["name"] === modelType) { - initCwd = i; - break; - } - } - const [filterIndex0, cwd] = this.#getFilterDirectory( - filter, - directories, - sep, - initCwd - ); - if (cwd !== null) { - const lastWord = filter.substring(filterIndex0); - const item = directories[cwd]; - if (item["childIndex"] !== undefined) { - const childIndex = item["childIndex"]; - const childCount = item["childCount"]; - const items = directories.slice(childIndex, childIndex + childCount); - for (let i = 0; i < items.length; i++) { - const itemName = items[i]["name"]; - if (itemName.startsWith(lastWord)) { - options.push(itemName); - } - } - } - else { - const filename = item["name"]; - if (filename.startsWith(lastWord)) { - options.push(filename); - } - } - } - - const innerHtml = options.map((text) => { - const el = document.createElement("p"); - el.innerHTML = text; - return el; - }); - searchDropdown.innerHTML = ""; - searchDropdown.append.apply(searchDropdown, innerHtml); - searchDropdown.style.display = options.length === 0 ? "none" : "block"; - } - else { - searchDropdown.style.display = "none"; - } - - this.#data.prevousModelFilters[modelType] = filter; - } } let instance; From 7a0cab8350319cc96cd388d31e98ba0e6a626cbd Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 24 Jan 2024 23:40:38 -0500 Subject: [PATCH 29/79] Bug: fix variable --- web/model-manager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/model-manager.js b/web/model-manager.js index 8854d4b..1cfeeea 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1050,10 +1050,11 @@ class ModelManager extends ComfyDialog { async #modelUpdateFilterDropdown() { const filter = this.#el.modelContentFilter.value; + const modelType = this.#el.modelTypeSelect.value; updateDirectorySuggestionDropdown( this.#el.modelDirectorySearchOptions, this.#data.modelDirectories, - this.#el.modelTypeSelect.value, + modelType, filter ); this.#data.prevousModelFilters[modelType] = filter; From dd6084ad6d2386b22b7afb96ab68813f570a4d5a Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 25 Jan 2024 03:23:02 -0500 Subject: [PATCH 30/79] Up/Down arrow + enter select in directory suggestion; Escape key escape --- web/model-manager.css | 9 ++- web/model-manager.js | 143 ++++++++++++++++++++++++++++++------------ 2 files changed, 110 insertions(+), 42 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index 37b6d17..a9bd543 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -362,7 +362,14 @@ } .model-manager .search-dropdown > p { - margin-left: 20px; + margin: 0; + padding-left: 20px; + padding-top: 0.85em; + padding-bottom: 0.85em; +} + +.model-manager .search-dropdown > p.search-dropdown-selected { + background-color: var(--border-color); } .model-manager .button-success { diff --git a/web/model-manager.js b/web/model-manager.js index 1cfeeea..0b13cc3 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -55,9 +55,8 @@ const modelNodeType = { * @param {string} modelType * @param {string} filter */ -function updateDirectorySuggestionDropdown(dropdown, directories, modelType, filter) { +function updateDirectorySuggestionDropdown(dropdown, directories, modelType, filter, sep) { let options = []; - const sep = "/"; if (filter[0] === sep) { let cwd = null; const root = directories[0]; @@ -134,7 +133,9 @@ function updateDirectorySuggestionDropdown(dropdown, directories, modelType, fil } const innerHtml = options.map((text) => { - return $el("p", [text]); + const p = $el("p", [text]); + //p.onclick = (e) => { console.log(e.target); }; // TODO: Click on dropdown elements when input gets blurred? + return p; }); dropdown.innerHTML = ""; dropdown.append.apply(dropdown, innerHtml); @@ -709,44 +710,46 @@ function $radioGroup(attr) { class ModelManager extends ComfyDialog { #el = { - loadSourceBtn: null, - loadSourceFromInput: null, - sourceInstalledFilter: null, - sourceContentFilter: null, - sourceFilterBtn: null, + /** @type {HTMLButtonElement} */ loadSourceBtn: null, + /** @type {HTMLInputElement} */ loadSourceFromInput: null, + /** @type {HTMLSelectElement} */ sourceInstalledFilter: null, + /** @type {HTMLInputElement} */ sourceContentFilter: null, - modelGrid: null, - modelTypeSelect: null, - modelDirectorySearchOptions: null, - modelContentFilter: null, + /** @type {HTMLDivElement} */ modelGrid: null, + /** @type {HTMLSelectElement} */ modelTypeSelect: null, + /** @type {HTMLDivElement} */ modelDirectorySearchOptions: null, + /** @type {HTMLInputElement} */ modelContentFilter: null, - sidebarButtons: null, + /** @type {HTMLDivElement} */ sidebarButtons: null, - settingsTab: null, - reloadSettingsBtn: null, - saveSettingsBtn: null, + /** @type {HTMLDivElement} */ settingsTab: null, + /** @type {HTMLButtonElement} */ reloadSettingsBtn: null, + /** @type {HTMLButtonElement} */ saveSettingsBtn: null, settings: { - "sidebar-default-height": null, - "sidebar-default-width": null, - "model-search-always-append": null, - "model-persistent-search": null, - "model-show-label-extensions": null, - "model-show-add-button": null, - "model-show-copy-button": null, - "model-add-embedding-extension": null, - "model-add-drag-strict-on-field": null, - "model-add-offset": null, + //"sidebar-default-height": null, + //"sidebar-default-width": null, + /** @type {HTMLTextAreaElement} */ "model-search-always-append": null, + /** @type {HTMLInputElement} */ "model-persistent-search": null, + /** @type {HTMLInputElement} */ "model-show-label-extensions": null, + /** @type {HTMLInputElement} */ "model-show-add-button": null, + /** @type {HTMLInputElement} */ "model-show-copy-button": null, + /** @type {HTMLInputElement} */ "model-add-embedding-extension": null, + /** @type {HTMLInputElement} */ "model-add-drag-strict-on-field": null, + /** @type {HTMLInputElement} */ "model-add-offset": null, } }; #data = { - sources: [], - models: {}, - modelDirectories: null, - prevousModelFilters: [], - prevousModelType: undefined, + /** @type {Array} */ sources: [], + /** @type {Object} */ models: {}, + /** @type {{name: string, childCount: ?int, childIndex: ?int}[]} */ modelDirectories: null, + /** @type {Array} */ prevousModelFilters: [], + /** @type {string} */ prevousModelType: undefined, }; + /** @type {string} */ + sep = "/"; + /** @type {SourceList} */ #sourceList = null; @@ -830,7 +833,7 @@ class ModelManager extends ComfyDialog { $el("input.search-text-area", { $: (el) => (this.#el.sourceContentFilter = el), placeholder: "example: \"sd_xl\" -vae", - onkeyup: (e) => e.key === "Enter" && this.#filterSourceList(), + onkeydown: (e) => e.key === "Enter" && this.#filterSourceList(), }), $el("select", { @@ -938,16 +941,19 @@ class ModelManager extends ComfyDialog { } /** - * @returns {HTMLElement} + * @returns {HTMLElement[]} */ #createModelTabHtml() { + /** @type {HTMLDivElement} */ const modelGrid = $el("div.comfy-grid"); this.#el.modelGrid = modelGrid; + /** @type {HTMLDivElement} */ const searchDropdown = $el("div.search-dropdown", { $: (el) => (this.#el.modelDirectorySearchOptions = el), style: { display: "none" }, }); + const dropdownSelectClass = "search-dropdown-selected"; return [ $el("div.row.tab-header", [ @@ -968,17 +974,71 @@ class ModelManager extends ComfyDialog { $el("input.search-text-area", { $: (el) => (this.#el.modelContentFilter = el), placeholder: "example: /0/1.5/styles/clothing -.pt", - onkeyup: (e) => { - if (e.key === "Enter") { + onkeydown: (e) => { + const children = searchDropdown.children; + let iChild; + for (iChild = 0; iChild < children.length; iChild++) { + const child = children[iChild]; + if (child.classList.contains(dropdownSelectClass)) { + break; + } + } + if (e.key === "Escape") { + e.stopPropagation(); + if (iChild < children.length) { + const child = children[iChild]; + child.classList.remove(dropdownSelectClass); + } + else { + e.target.blur(); + } + } + else if (e.key === "Enter") { + e.stopPropagation(); + if (iChild < children.length) { + const child = children[iChild]; + child.classList.remove(dropdownSelectClass); + const selectedText = child.innerText; + const filterText = e.target.value; + const iSep = filterText.lastIndexOf(this.sep); + const previousPath = filterText.substring(0, iSep + 1); + e.target.value = previousPath + selectedText; + this.#modelUpdateFilterDropdown(); + } this.#modelGridUpdate(); searchDropdown.style.display = "none"; - e.stopPropagation(); } - }, - onkeydown: (e) => { - if (e.key === "Escape") { - e.target.blur(); + else if (e.key === "ArrowDown" || e.key === "ArrowUp") { e.stopPropagation(); + let iNext = children.length; + if (iChild < children.length) { + const child = children[iChild]; + child.classList.remove(dropdownSelectClass); + const delta = e.key === "ArrowDown" ? 1 : -1; + iNext = iChild + delta; + if (0 <= iNext && iNext < children.length) { + const nextChild = children[iNext]; + nextChild.classList.add(dropdownSelectClass); + } + } + else if (iChild === children.length) { + iNext = e.key === "ArrowDown" ? 0 : children.length-1; + const nextChild = children[iNext] + nextChild.classList.add(dropdownSelectClass); + } + if (0 <= iNext && iNext < children.length) { + let scrollTop = searchDropdown.scrollTop; + const dropdownHeight = searchDropdown.offsetHeight; + const child = children[iNext]; + const childHeight = child.offsetHeight; + const childTop = child.offsetTop; + scrollTop = Math.max(scrollTop, childTop - dropdownHeight + childHeight); + scrollTop = Math.min(scrollTop, childTop); + searchDropdown.scrollTop = scrollTop; + } + else { + searchDropdown.scrollTop = 0; + } } }, oninput: () => this.#modelUpdateFilterDropdown(), @@ -1055,7 +1115,8 @@ class ModelManager extends ComfyDialog { this.#el.modelDirectorySearchOptions, this.#data.modelDirectories, modelType, - filter + filter, + this.sep ); this.#data.prevousModelFilters[modelType] = filter; } From 1daf03e856fdc4711a87ec78200bea11d37bfedc Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 25 Jan 2024 03:35:06 -0500 Subject: [PATCH 31/79] Bug: Enter disabled when hidden dropdown --- web/model-manager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/model-manager.js b/web/model-manager.js index 0b13cc3..0e9bdb9 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -975,6 +975,7 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.modelContentFilter = el), placeholder: "example: /0/1.5/styles/clothing -.pt", onkeydown: (e) => { + if (searchDropdown.style.display === "none") { return; } const children = searchDropdown.children; let iChild; for (iChild = 0; iChild < children.length; iChild++) { @@ -1006,7 +1007,7 @@ class ModelManager extends ComfyDialog { this.#modelUpdateFilterDropdown(); } this.#modelGridUpdate(); - searchDropdown.style.display = "none"; + e.target.blur(); } else if (e.key === "ArrowDown" || e.key === "ArrowUp") { e.stopPropagation(); From 4d0db38847d0334d34184df9053920e1ce80386a Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 25 Jan 2024 04:29:18 -0500 Subject: [PATCH 32/79] Bug: Key input fix on non-dropdown --- web/model-manager.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/web/model-manager.js b/web/model-manager.js index 0e9bdb9..5d6d2cf 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -975,7 +975,6 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.modelContentFilter = el), placeholder: "example: /0/1.5/styles/clothing -.pt", onkeydown: (e) => { - if (searchDropdown.style.display === "none") { return; } const children = searchDropdown.children; let iChild; for (iChild = 0; iChild < children.length; iChild++) { @@ -1039,6 +1038,13 @@ class ModelManager extends ComfyDialog { } else { searchDropdown.scrollTop = 0; + const children = searchDropdown.children; + for (iChild = 0; iChild < children.length; iChild++) { + const child = children[iChild]; + if (child.classList.contains(dropdownSelectClass)) { + child.classList.remove(dropdownSelectClass); + } + } } } }, From 9712d2a3bbd077ce042e8878a0c8fd825590c5b3 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 25 Jan 2024 21:10:41 -0500 Subject: [PATCH 33/79] Dropdown mouse hover & click --- web/model-manager.js | 232 +++++++++++++++++++++++++++++++------------ 1 file changed, 166 insertions(+), 66 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 5d6d2cf..be465aa 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -49,13 +49,28 @@ const modelNodeType = { "vae_approx": undefined, }; +const dropdownSelectClass = "search-dropdown-selected"; + /** * @param {HTMLDivElement} dropdown * @param {Array.<{name: string, childCount: ?int, childIndex: ?int}>} directories * @param {string} modelType * @param {string} filter + * @param {string} sep + * @param {HTMLInputElement} inputElement + * @param {Function} updateModelDropdown + * @param {Function} updateModelGrid */ -function updateDirectorySuggestionDropdown(dropdown, directories, modelType, filter, sep) { +function updateDirectorySuggestionDropdown( + dropdown, + directories, + modelType, + filter, + sep, + inputElement, + updateModelDropdown, + updateModelGrid +) { let options = []; if (filter[0] === sep) { let cwd = null; @@ -131,10 +146,63 @@ function updateDirectorySuggestionDropdown(dropdown, directories, modelType, fil } } } + + const setActiveMouseOver = (e) => { + const children = dropdown.children; + let iChild; + for (iChild = 0; iChild < children.length; iChild++) { + const child = children[iChild]; + if (child.classList.contains(dropdownSelectClass)) { + child.classList.remove(dropdownSelectClass); + } + } + e.target.classList.add(dropdownSelectClass); + }; + + const onMouseEnter = (e) => { + e.stopPropagation(); + setActiveMouseOver(e); + }; + + const onMouseMove = (e) => { + if (!e.target.classList.contains(dropdownSelectClass)) { + // assumes only one will ever selected at a time + e.stopPropagation(); + setActiveMouseOver(e); + } + }; + + const onMouseLeave = (e) => { + e.stopPropagation(); + e.target.classList.remove(dropdownSelectClass); + }; + + const onMouseDown = (e) => { + e.stopPropagation(); + //e.target.classList.remove(dropdownSelectClass); + appendDropdownSelectionToInput( + inputElement, + e.target, + sep, + updateModelDropdown, + updateModelGrid + ); + }; const innerHtml = options.map((text) => { - const p = $el("p", [text]); - //p.onclick = (e) => { console.log(e.target); }; // TODO: Click on dropdown elements when input gets blurred? + /** @type {HTMLParagraphElement} */ + const p = $el( + "p", + { + onmouseenter: (e) => onMouseEnter(e), + onmousemove: (e) => onMouseMove(e), + onmouseleave: (e) => onMouseLeave(e), + onmousedown: (e) => onMouseDown(e), + }, + [ + text + ] + ); return p; }); dropdown.innerHTML = ""; @@ -146,6 +214,75 @@ function updateDirectorySuggestionDropdown(dropdown, directories, modelType, fil } } +/** + * @param {HTMLInputElement} inputElement + * @param {HTMLParagraphElement} child + * @param {string} sep + * @param {Function} updateModelDropdown + * @param {Function} updateModelGrid + */ +function appendDropdownSelectionToInput(inputElement, child, sep, updateModelDropdown, updateModelGrid) { + if (child !== undefined && child !== null) { + child.classList.remove(dropdownSelectClass); + const selectedText = child.innerText; + const oldFilterText = inputElement.value; + const iSep = oldFilterText.lastIndexOf(sep); + const previousPath = oldFilterText.substring(0, iSep + 1); + const newFilterText = previousPath + selectedText; + + inputElement.value = newFilterText; + updateModelDropdown(); // TODO: should this be here? + } + updateModelGrid(); // TODO: GENERALIZATION -> this shouldn't be here + inputElement.blur(); +} + +/** + * @param {HTMLDivElement} modelGrid + * @param {Object} models + * @param {HTMLSelectElement} modelSelect + * @param {Object.<{value: string}>} previousModelType + * @param {Object} settings + * @param {Array} previousModelFilters + * @param {HTMLInputElement} modelFilter + */ +function updateModelGrid(modelGrid, models, modelSelect, previousModelType, settings, previousModelFilters, modelFilter) { + let modelType = modelSelect.value; + if (models[modelType] === undefined) { + modelType = "checkpoints"; // TODO: magic value + } + + if (modelType !== previousModelType.value) { + if (settings["model-persistent-search"].checked) { + previousModelFilters.splice(0, previousModelFilters.length); // TODO: make sure this actually worked! + } + else { + // cache previous filter text + previousModelFilters[previousModelType.value] = modelFilter.value; + // read cached filter text + modelFilter.value = previousModelFilters[modelType] ?? ""; + } + previousModelType.value = modelType; + } + + let modelTypeOptions = []; + for (const [key, value] of Object.entries(models)) { + const el = $el("option", [key]); + modelTypeOptions.push(el); + } + modelSelect.innerHTML = ""; + modelTypeOptions.forEach(option => modelSelect.add(option)); + modelSelect.value = modelType; + + const searchAppend = settings["model-search-always-append"].value; + const searchText = modelFilter.value + " " + searchAppend; + const modelList = ModelGrid.filter(models[modelType], searchText); + + modelGrid.innerHTML = ""; + const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, settings); + modelGrid.append.apply(modelGrid, modelGridModels); +} + /** * @param {string} nodeType * @returns {int} @@ -433,7 +570,7 @@ class ModelGrid { .split(/(-?".*?"|[^\s"]+)+/g) .map((item) => item .trim() - .replace(/(?:'|")+/g, "") + .replace(/(?:")+/g, "") .toLowerCase()) .filter(Boolean); @@ -743,8 +880,8 @@ class ModelManager extends ComfyDialog { /** @type {Array} */ sources: [], /** @type {Object} */ models: {}, /** @type {{name: string, childCount: ?int, childIndex: ?int}[]} */ modelDirectories: null, - /** @type {Array} */ prevousModelFilters: [], - /** @type {string} */ prevousModelType: undefined, + /** @type {Array} */ previousModelFilters: [], + /** @type {Object.<{value: string}>} */ previousModelType: { value: undefined }, }; /** @type {string} */ @@ -953,7 +1090,6 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.modelDirectorySearchOptions = el), style: { display: "none" }, }); - const dropdownSelectClass = "search-dropdown-selected"; return [ $el("div.row.tab-header", [ @@ -995,18 +1131,13 @@ class ModelManager extends ComfyDialog { } else if (e.key === "Enter") { e.stopPropagation(); - if (iChild < children.length) { - const child = children[iChild]; - child.classList.remove(dropdownSelectClass); - const selectedText = child.innerText; - const filterText = e.target.value; - const iSep = filterText.lastIndexOf(this.sep); - const previousPath = filterText.substring(0, iSep + 1); - e.target.value = previousPath + selectedText; - this.#modelUpdateFilterDropdown(); - } - this.#modelGridUpdate(); - e.target.blur(); + appendDropdownSelectionToInput( + e.target, + children[iChild], + this.sep, + this.#modelUpdateFilterDropdown, + this.#modelGridUpdate + ); } else if (e.key === "ArrowDown" || e.key === "ArrowUp") { e.stopPropagation(); @@ -1065,49 +1196,15 @@ class ModelManager extends ComfyDialog { ]; } - #modelGridUpdate() { - const models = this.#data.models; - const modelSelect = this.#el.modelTypeSelect; - - let modelType = modelSelect.value; - if (models[modelType] === undefined) { - modelType = "checkpoints"; // TODO: magic value - } - - const prevousModelType = this.#el.prevousModelType; - if (modelType !== prevousModelType) { - if (this.#el.settings["model-persistent-search"].checked) { - this.#data.prevousModelFilters = []; - } - else { - const modelFilter = this.#el.modelContentFilter; - const prevousModelFilters = this.#data.prevousModelFilters; - // cache previous filter text - prevousModelFilters[prevousModelType] = modelFilter.value; - // read cached filter text - modelFilter.value = prevousModelFilters[modelType] ?? ""; - } - this.#el.prevousModelType = modelType; - } - - let modelTypeOptions = []; - for (const [key, value] of Object.entries(models)) { - const el = $el("option", [key]); - modelTypeOptions.push(el); - } - modelSelect.innerHTML = ""; - modelTypeOptions.forEach(option => modelSelect.add(option)); - modelSelect.value = modelType; - - const searchAppend = this.#el.settings["model-search-always-append"].value; - const searchText = this.#el.modelContentFilter.value + " " + searchAppend; - const modelList = ModelGrid.filter(models[modelType], searchText); - - const modelGrid = this.#el.modelGrid; - modelGrid.innerHTML = ""; - const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, this.#el.settings); - modelGrid.append.apply(modelGrid, modelGridModels); - } + #modelGridUpdate = () => updateModelGrid( + this.#el.modelGrid, + this.#data.models, + this.#el.modelTypeSelect, + this.#data.previousModelType, + this.#el.settings, + this.#data.previousModelFilters, + this.#el.modelContentFilter + ); async #modelGridRefresh() { this.#data.models = await request("/model-manager/models"); @@ -1115,17 +1212,20 @@ class ModelManager extends ComfyDialog { this.#modelGridUpdate(); } - async #modelUpdateFilterDropdown() { - const filter = this.#el.modelContentFilter.value; + #modelUpdateFilterDropdown = () => { const modelType = this.#el.modelTypeSelect.value; + const filter = this.#el.modelContentFilter.value; updateDirectorySuggestionDropdown( this.#el.modelDirectorySearchOptions, this.#data.modelDirectories, modelType, filter, - this.sep + this.sep, + this.#el.modelContentFilter, + this.#modelUpdateFilterDropdown, + this.#modelGridUpdate, ); - this.#data.prevousModelFilters[modelType] = filter; + this.#data.previousModelFilters[modelType] = filter; } /** From f76c28e832bea2cc57266566877304f9f5953382 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 27 Jan 2024 05:26:13 -0500 Subject: [PATCH 34/79] Refactor out custom input directory dropdown auto-suggest --- web/model-manager.js | 619 ++++++++++++++++++++++--------------------- 1 file changed, 312 insertions(+), 307 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index be465aa..c3d0636 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -49,30 +49,127 @@ const modelNodeType = { "vae_approx": undefined, }; -const dropdownSelectClass = "search-dropdown-selected"; +const DROPDOWN_DIRECTORY_SELECTION_CLASS = "search-dropdown-selected"; /** - * @param {HTMLDivElement} dropdown - * @param {Array.<{name: string, childCount: ?int, childIndex: ?int}>} directories - * @param {string} modelType - * @param {string} filter - * @param {string} sep - * @param {HTMLInputElement} inputElement - * @param {Function} updateModelDropdown - * @param {Function} updateModelGrid + * @typedef {Object} DirectoryItem + * @param {string} name + * @param {number | undefined} childCount + * @param {number | undefined} childIndex */ -function updateDirectorySuggestionDropdown( - dropdown, - directories, - modelType, - filter, - sep, - inputElement, - updateModelDropdown, - updateModelGrid -) { - let options = []; - if (filter[0] === sep) { + +class DirectoryDropdown { + /** @type {HTMLDivElement} */ + element = undefined; + + /** @type {HTMLInputElement} */ + #input = undefined; + + /** @type {Function} */ + #submitSearch = null; + + /** + * @param {HTMLInputElement} input + * @param {Function} updateDropdown + * @param {Function} submitSearch + */ + constructor(input, updateDropdown, submitSearch) { + /** @type {HTMLDivElement} */ + const dropdown = $el("div.search-dropdown", { // TODO: change to `search-directory-dropdown` + style: { display: "none" }, + }); + this.element = dropdown; + this.#input = input; + this.#submitSearch = submitSearch; + + input.addEventListener("input", () => updateDropdown()); + input.addEventListener("focus", () => updateDropdown()); + input.addEventListener("blur", () => { dropdown.style.display = "none"; }); + input.addEventListener( + "keydown", + (e) => { + const children = dropdown.children; + let iChild; + for (iChild = 0; iChild < children.length; iChild++) { + const child = children[iChild]; + if (child.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { + break; + } + } + if (e.key === "Escape") { + e.stopPropagation(); + if (iChild < children.length) { + // remove select + const child = children[iChild]; + child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + else { + e.target.blur(); + } + } + else if (e.key === "Enter") { + e.stopPropagation(); + submitSearch(e.target, children[iChild]); + } + else if (e.key === "ArrowDown" || e.key === "ArrowUp") { + e.stopPropagation(); + let iNext = children.length; + if (iChild < children.length) { + const child = children[iChild]; + child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + const delta = e.key === "ArrowDown" ? 1 : -1; + iNext = iChild + delta; + if (0 <= iNext && iNext < children.length) { + const nextChild = children[iNext]; + nextChild.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + } + else if (iChild === children.length) { + iNext = e.key === "ArrowDown" ? 0 : children.length-1; + const nextChild = children[iNext] + nextChild.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + if (0 <= iNext && iNext < children.length) { + let scrollTop = dropdown.scrollTop; + const dropdownHeight = dropdown.offsetHeight; + const child = children[iNext]; + const childHeight = child.offsetHeight; + const childTop = child.offsetTop; + scrollTop = Math.max(scrollTop, childTop - dropdownHeight + childHeight); + scrollTop = Math.min(scrollTop, childTop); + dropdown.scrollTop = scrollTop; + } + else { + dropdown.scrollTop = 0; + const children = dropdown.children; + for (iChild = 0; iChild < children.length; iChild++) { + const child = children[iChild]; + if (child.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { + child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + } + } + } + }, + ); + } + + /** + * @param {DirectoryItem[]} directories + * @param {string} modelType + * @param {string} sep + */ + update(directories, modelType, sep) { + const dropdown = this.element; + const input = this.#input; + const submitSearch = this.#submitSearch; + + const filter = input.value; + if (filter[0] !== sep) { + dropdown.style.display = "none"; + return; + } + let cwd = null; const root = directories[0]; const rootChildIndex = root["childIndex"]; @@ -85,22 +182,21 @@ function updateDirectorySuggestionDropdown( } } - // TODO: directories === undefined - let filterIndex0 = 1; + // TODO: directories === undefined? + let indexLastWord = 1; while (true) { - const filterIndex1 = filter.indexOf(sep, filterIndex0); - if (filterIndex1 === -1) { + const indexNextWord = filter.indexOf(sep, indexLastWord); + if (indexNextWord === -1) { // end of filter break; } const item = directories[cwd]; - if (item["childCount"] === undefined) { + const childCount = item["childCount"]; + if (childCount === undefined) { // file break; } - - const childCount = item["childCount"]; if (childCount === 0) { // directory is empty break; @@ -108,7 +204,7 @@ function updateDirectorySuggestionDropdown( const childIndex = item["childIndex"]; const items = directories.slice(childIndex, childIndex + childCount); - const word = filter.substring(filterIndex0, filterIndex1); + const word = filter.substring(indexLastWord, indexNextWord); cwd = null; for (let itemIndex = 0; itemIndex < items.length; itemIndex++) { const itemName = items[itemIndex]["name"]; @@ -122,82 +218,69 @@ function updateDirectorySuggestionDropdown( // directory does not exist break; } - filterIndex0 = filterIndex1 + 1; + indexLastWord = indexNextWord + 1; + } + if (cwd === null) { + dropdown.style.display = "none"; + return; } - if (cwd !== null) { - const lastWord = filter.substring(filterIndex0); - const item = directories[cwd]; - if (item["childIndex"] !== undefined) { - const childIndex = item["childIndex"]; - const childCount = item["childCount"]; - const items = directories.slice(childIndex, childIndex + childCount); - for (let i = 0; i < items.length; i++) { - const itemName = items[i]["name"]; - if (itemName.startsWith(lastWord)) { - options.push(itemName); - } - } - } - else { - const filename = item["name"]; - if (filename.startsWith(lastWord)) { - options.push(filename); + let options = []; + const lastWord = filter.substring(indexLastWord); + const item = directories[cwd]; + if (item["childIndex"] !== undefined) { + const childIndex = item["childIndex"]; + const childCount = item["childCount"]; + const items = directories.slice(childIndex, childIndex + childCount); + for (let i = 0; i < items.length; i++) { + const itemName = items[i]["name"]; + if (itemName.startsWith(lastWord)) { + options.push(itemName); } } } - - const setActiveMouseOver = (e) => { - const children = dropdown.children; - let iChild; - for (iChild = 0; iChild < children.length; iChild++) { - const child = children[iChild]; - if (child.classList.contains(dropdownSelectClass)) { - child.classList.remove(dropdownSelectClass); - } + else { + const filename = item["name"]; + if (filename.startsWith(lastWord)) { + options.push(filename); } - e.target.classList.add(dropdownSelectClass); - }; - - const onMouseEnter = (e) => { - e.stopPropagation(); - setActiveMouseOver(e); - }; + } + if (options.length === 0) { + dropdown.style.display = "none"; + return; + } - const onMouseMove = (e) => { - if (!e.target.classList.contains(dropdownSelectClass)) { + const selection_select = (e) => { + const selection = e.target; + if (!selection.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { // assumes only one will ever selected at a time e.stopPropagation(); - setActiveMouseOver(e); + const children = dropdown.children; + let iChild; + for (iChild = 0; iChild < children.length; iChild++) { + const child = children[iChild]; + child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + selection.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); } }; - - const onMouseLeave = (e) => { + const selection_deselect = (e) => { e.stopPropagation(); - e.target.classList.remove(dropdownSelectClass); + e.target.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); }; - - const onMouseDown = (e) => { + const selection_submit = (e) => { e.stopPropagation(); - //e.target.classList.remove(dropdownSelectClass); - appendDropdownSelectionToInput( - inputElement, - e.target, - sep, - updateModelDropdown, - updateModelGrid - ); + submitSearch(input, e.target); }; - const innerHtml = options.map((text) => { /** @type {HTMLParagraphElement} */ const p = $el( "p", { - onmouseenter: (e) => onMouseEnter(e), - onmousemove: (e) => onMouseMove(e), - onmouseleave: (e) => onMouseLeave(e), - onmousedown: (e) => onMouseDown(e), + onmouseenter: (e) => selection_select(e), + onmousemove: (e) => selection_select(e), + onmouseleave: (e) => selection_deselect(e), + onmousedown: (e) => selection_submit(e), }, [ text @@ -207,80 +290,8 @@ function updateDirectorySuggestionDropdown( }); dropdown.innerHTML = ""; dropdown.append.apply(dropdown, innerHtml); - dropdown.style.display = options.length === 0 ? "none" : "block"; + dropdown.style.display = "block"; } - else { - dropdown.style.display = "none"; - } -} - -/** - * @param {HTMLInputElement} inputElement - * @param {HTMLParagraphElement} child - * @param {string} sep - * @param {Function} updateModelDropdown - * @param {Function} updateModelGrid - */ -function appendDropdownSelectionToInput(inputElement, child, sep, updateModelDropdown, updateModelGrid) { - if (child !== undefined && child !== null) { - child.classList.remove(dropdownSelectClass); - const selectedText = child.innerText; - const oldFilterText = inputElement.value; - const iSep = oldFilterText.lastIndexOf(sep); - const previousPath = oldFilterText.substring(0, iSep + 1); - const newFilterText = previousPath + selectedText; - - inputElement.value = newFilterText; - updateModelDropdown(); // TODO: should this be here? - } - updateModelGrid(); // TODO: GENERALIZATION -> this shouldn't be here - inputElement.blur(); -} - -/** - * @param {HTMLDivElement} modelGrid - * @param {Object} models - * @param {HTMLSelectElement} modelSelect - * @param {Object.<{value: string}>} previousModelType - * @param {Object} settings - * @param {Array} previousModelFilters - * @param {HTMLInputElement} modelFilter - */ -function updateModelGrid(modelGrid, models, modelSelect, previousModelType, settings, previousModelFilters, modelFilter) { - let modelType = modelSelect.value; - if (models[modelType] === undefined) { - modelType = "checkpoints"; // TODO: magic value - } - - if (modelType !== previousModelType.value) { - if (settings["model-persistent-search"].checked) { - previousModelFilters.splice(0, previousModelFilters.length); // TODO: make sure this actually worked! - } - else { - // cache previous filter text - previousModelFilters[previousModelType.value] = modelFilter.value; - // read cached filter text - modelFilter.value = previousModelFilters[modelType] ?? ""; - } - previousModelType.value = modelType; - } - - let modelTypeOptions = []; - for (const [key, value] of Object.entries(models)) { - const el = $el("option", [key]); - modelTypeOptions.push(el); - } - modelSelect.innerHTML = ""; - modelTypeOptions.forEach(option => modelSelect.add(option)); - modelSelect.value = modelType; - - const searchAppend = settings["model-search-always-append"].value; - const searchText = modelFilter.value + " " + searchAppend; - const modelList = ModelGrid.filter(models[modelType], searchText); - - modelGrid.innerHTML = ""; - const modelGridModels = ModelGrid.generateInnerHtml(modelList, modelType, settings); - modelGrid.append.apply(modelGrid, modelGridModels); } /** @@ -563,7 +574,7 @@ class ModelGrid { * @param {string} searchString * @returns {Array} */ - static filter(list, searchString) { + static #filter(list, searchString) { /** @type {string[]} */ const keywords = searchString .replace("*", " ") @@ -739,7 +750,7 @@ class ModelGrid { * @param {Object.} settingsElements * @returns {HTMLElement[]} */ - static generateInnerHtml(models, modelType, settingsElements) { + static #generateInnerHtml(models, modelType, settingsElements) { // TODO: seperate text and model logic; getting too messy // TODO: fallback on button failure to copy text? const canShowButtons = modelNodeType[modelType] !== undefined; @@ -802,6 +813,52 @@ class ModelGrid { return [$el("h2", ["No Models"])]; } } + + /** + * @param {HTMLDivElement} modelGrid + * @param {Object} models + * @param {HTMLSelectElement} modelSelect + * @param {Object.<{value: string}>} previousModelType + * @param {Object} settings + * @param {Array} previousModelFilters + * @param {HTMLInputElement} modelFilter + */ + static update(modelGrid, models, modelSelect, previousModelType, settings, previousModelFilters, modelFilter) { + let modelType = modelSelect.value; + if (models[modelType] === undefined) { + modelType = "checkpoints"; // TODO: magic value + } + + if (modelType !== previousModelType.value) { + if (settings["model-persistent-search"].checked) { + previousModelFilters.splice(0, previousModelFilters.length); // TODO: make sure this actually worked! + } + else { + // cache previous filter text + previousModelFilters[previousModelType.value] = modelFilter.value; + // read cached filter text + modelFilter.value = previousModelFilters[modelType] ?? ""; + } + previousModelType.value = modelType; + } + + let modelTypeOptions = []; + for (const [key, value] of Object.entries(models)) { + const el = $el("option", [key]); + modelTypeOptions.push(el); + } + modelSelect.innerHTML = ""; + modelTypeOptions.forEach(option => modelSelect.add(option)); + modelSelect.value = modelType; + + const searchAppend = settings["model-search-always-append"].value; + const searchText = modelFilter.value + " " + searchAppend; + const modelList = ModelGrid.#filter(models[modelType], searchText); + + modelGrid.innerHTML = ""; + const modelGridModels = ModelGrid.#generateInnerHtml(modelList, modelType, settings); + modelGrid.append.apply(modelGrid, modelGridModels); + } } /** @@ -854,14 +911,14 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, - /** @type {HTMLDivElement} */ modelDirectorySearchOptions: null, + /** @type {HTMLDivElement} */ searchDirectoryDropdown: null, /** @type {HTMLInputElement} */ modelContentFilter: null, /** @type {HTMLDivElement} */ sidebarButtons: null, /** @type {HTMLDivElement} */ settingsTab: null, - /** @type {HTMLButtonElement} */ reloadSettingsBtn: null, - /** @type {HTMLButtonElement} */ saveSettingsBtn: null, + /** @type {HTMLButtonElement} */ settings_reloadBtn: null, + /** @type {HTMLButtonElement} */ settings_saveBtn: null, settings: { //"sidebar-default-height": null, //"sidebar-default-width": null, @@ -879,13 +936,13 @@ class ModelManager extends ComfyDialog { #data = { /** @type {Array} */ sources: [], /** @type {Object} */ models: {}, - /** @type {{name: string, childCount: ?int, childIndex: ?int}[]} */ modelDirectories: null, + /** @type {DirectoryItem[]} */ modelDirectories: [], /** @type {Array} */ previousModelFilters: [], /** @type {Object.<{value: string}>} */ previousModelType: { value: undefined }, }; /** @type {string} */ - sep = "/"; + #sep = "/"; /** @type {SourceList} */ #sourceList = null; @@ -931,8 +988,8 @@ class ModelManager extends ComfyDialog { ), $tabs([ $tab("Install", this.#createSourceInstall()), - $tab("Models", this.#createModelTabHtml()), - $tab("Settings", this.#createSettingsTabHtml()), + $tab("Models", this.#modelTab_new()), + $tab("Settings", [this.#settingsTab_new()]), ]), ]), ] @@ -942,9 +999,9 @@ class ModelManager extends ComfyDialog { } #init() { - this.#reloadSettings(false); + this.#settingsTab_reload(false); this.#refreshSourceList(); - this.#modelGridRefresh(); + this.#modelTab_updateModels(); } /** @@ -1077,118 +1134,52 @@ class ModelManager extends ComfyDialog { ); } + /** @type {DirectoryDropdown} */ + #modelContentFilterDirectoryDropdown = null; + /** * @returns {HTMLElement[]} */ - #createModelTabHtml() { + #modelTab_new() { /** @type {HTMLDivElement} */ const modelGrid = $el("div.comfy-grid"); this.#el.modelGrid = modelGrid; - /** @type {HTMLDivElement} */ - const searchDropdown = $el("div.search-dropdown", { - $: (el) => (this.#el.modelDirectorySearchOptions = el), - style: { display: "none" }, + const searchInput = $el("input.search-text-area", { + $: (el) => (this.#el.modelContentFilter = el), + placeholder: "example: /0/1.5/styles/clothing -.pt", }); + const searchDropdown = new DirectoryDropdown( + searchInput, + this.#modelTab_updateDirectoryDropdown, + this.#modelTab_submitSearch + ); + this.#modelContentFilterDirectoryDropdown = searchDropdown; + return [ $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ $el("button.icon-button", { type: "button", textContent: "⟳", - onclick: () => this.#modelGridRefresh(), + onclick: () => this.#modelTab_updateModels(), }), $el("select.model-type-dropdown", { $: (el) => (this.#el.modelTypeSelect = el), name: "model-type", - onchange: () => this.#modelGridUpdate(), + onchange: () => this.#modelTab_updateModelGrid(), }), ]), $el("div.row.tab-header-flex-block", [ $el("div.search-models", [ - $el("input.search-text-area", { - $: (el) => (this.#el.modelContentFilter = el), - placeholder: "example: /0/1.5/styles/clothing -.pt", - onkeydown: (e) => { - const children = searchDropdown.children; - let iChild; - for (iChild = 0; iChild < children.length; iChild++) { - const child = children[iChild]; - if (child.classList.contains(dropdownSelectClass)) { - break; - } - } - if (e.key === "Escape") { - e.stopPropagation(); - if (iChild < children.length) { - const child = children[iChild]; - child.classList.remove(dropdownSelectClass); - } - else { - e.target.blur(); - } - } - else if (e.key === "Enter") { - e.stopPropagation(); - appendDropdownSelectionToInput( - e.target, - children[iChild], - this.sep, - this.#modelUpdateFilterDropdown, - this.#modelGridUpdate - ); - } - else if (e.key === "ArrowDown" || e.key === "ArrowUp") { - e.stopPropagation(); - let iNext = children.length; - if (iChild < children.length) { - const child = children[iChild]; - child.classList.remove(dropdownSelectClass); - const delta = e.key === "ArrowDown" ? 1 : -1; - iNext = iChild + delta; - if (0 <= iNext && iNext < children.length) { - const nextChild = children[iNext]; - nextChild.classList.add(dropdownSelectClass); - } - } - else if (iChild === children.length) { - iNext = e.key === "ArrowDown" ? 0 : children.length-1; - const nextChild = children[iNext] - nextChild.classList.add(dropdownSelectClass); - } - if (0 <= iNext && iNext < children.length) { - let scrollTop = searchDropdown.scrollTop; - const dropdownHeight = searchDropdown.offsetHeight; - const child = children[iNext]; - const childHeight = child.offsetHeight; - const childTop = child.offsetTop; - scrollTop = Math.max(scrollTop, childTop - dropdownHeight + childHeight); - scrollTop = Math.min(scrollTop, childTop); - searchDropdown.scrollTop = scrollTop; - } - else { - searchDropdown.scrollTop = 0; - const children = searchDropdown.children; - for (iChild = 0; iChild < children.length; iChild++) { - const child = children[iChild]; - if (child.classList.contains(dropdownSelectClass)) { - child.classList.remove(dropdownSelectClass); - } - } - } - } - }, - oninput: () => this.#modelUpdateFilterDropdown(), - onfocus: () => this.#modelUpdateFilterDropdown(), - onblur: () => { searchDropdown.style.display = "none"; }, - }), - searchDropdown, + searchInput, + searchDropdown.element, ]), $el("button.icon-button", { type: "button", textContent: "🔍︎", - onclick: () => this.#modelGridUpdate(), + onclick: () => this.#modelTab_updateModelGrid(), }), ]), ]), @@ -1196,7 +1187,7 @@ class ModelManager extends ComfyDialog { ]; } - #modelGridUpdate = () => updateModelGrid( + #modelTab_updateModelGrid = () => ModelGrid.update( this.#el.modelGrid, this.#data.models, this.#el.modelTypeSelect, @@ -1206,60 +1197,40 @@ class ModelManager extends ComfyDialog { this.#el.modelContentFilter ); - async #modelGridRefresh() { + async #modelTab_updateModels() { this.#data.models = await request("/model-manager/models"); this.#data.modelDirectories = await request("/model-manager/model-directory-list"); - this.#modelGridUpdate(); + this.#modelTab_updateModelGrid(); } - #modelUpdateFilterDropdown = () => { + #modelTab_updateDirectoryDropdown = () => { const modelType = this.#el.modelTypeSelect.value; - const filter = this.#el.modelContentFilter.value; - updateDirectorySuggestionDropdown( - this.#el.modelDirectorySearchOptions, + this.#modelContentFilterDirectoryDropdown.update( this.#data.modelDirectories, modelType, - filter, - this.sep, - this.#el.modelContentFilter, - this.#modelUpdateFilterDropdown, - this.#modelGridUpdate, + this.#sep, ); - this.#data.previousModelFilters[modelType] = filter; + const value = this.#el.modelContentFilter.value; + this.#data.previousModelFilters[modelType] = value; } /** - * @param {Event} event + * @param {HTMLInputElement} input + * @param {HTMLParagraphElement} selection */ - #setSidebar(event) { - // TODO: settings["sidebar-default-width"] - // TODO: settings["sidebar-default-height"] - // TODO: draggable resize? - const button = event.target; - const modelManager = this.element; - const sidebarButtons = this.#el.sidebarButtons.children; - - let buttonIndex; - for (buttonIndex = 0; buttonIndex < sidebarButtons.length; buttonIndex++) { - if (sidebarButtons[buttonIndex] === button) { - break; - } - } - - const sidebarStates = ["sidebar-left", "sidebar-top", "sidebar-bottom", "sidebar-right"]; - let stateIndex; - for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { - const state = sidebarStates[stateIndex]; - if (modelManager.classList.contains(state)) { - modelManager.classList.remove(state); - break; - } - } - - if (stateIndex != buttonIndex) { - const newSidebarState = sidebarStates[buttonIndex]; - modelManager.classList.add(newSidebarState); + #modelTab_submitSearch = (input, selection) => { + if (selection !== undefined && selection !== null) { + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + const selectedText = selection.innerText; + const oldFilterText = input.value; + const iSep = oldFilterText.lastIndexOf(this.#sep); + const previousPath = oldFilterText.substring(0, iSep + 1); + const newFilterText = previousPath + selectedText; + input.value = newFilterText; + this.#modelTab_updateDirectoryDropdown(); } + input.blur(); + this.#modelTab_updateModelGrid(); } /** @@ -1285,21 +1256,21 @@ class ModelManager extends ComfyDialog { if (reloadData) { // Is this slow? this.#refreshSourceList(); - this.#modelGridRefresh(); + this.#modelTab_updateModels(); } } /** * @param {boolean} reloadData */ - async #reloadSettings(reloadData) { + async #settingsTab_reload(reloadData) { const data = await request("/model-manager/settings/load"); const settings = data["settings"]; this.#setSettings(settings, reloadData); - buttonAlert(this.#el.reloadSettingsBtn, true); + buttonAlert(this.#el.settings_reloadBtn, true); } - async #saveSettings() { + async #settingsTab_save() { let settings = {}; for (const [setting, el] of Object.entries(this.#el.settings)) { if (!el) { continue; } // hack @@ -1327,27 +1298,27 @@ class ModelManager extends ComfyDialog { const settings = data["settings"]; this.#setSettings(settings, true); } - buttonAlert(this.#el.saveSettingsBtn, success); + buttonAlert(this.#el.settings_saveBtn, success); } /** - * @returns {HTMLElement[]} + * @returns {HTMLElement} */ - #createSettingsTabHtml() { + #settingsTab_new() { const settingsTab = $el("div.model-manager-settings", [ $el("h1", ["Settings"]), $el("div", [ $el("button", { - $: (el) => (this.#el.reloadSettingsBtn = el), + $: (el) => (this.#el.settings_reloadBtn = el), type: "button", textContent: "Reload", // ⟳ - onclick: () => this.#reloadSettings(true), + onclick: () => this.#settingsTab_reload(true), }), $el("button", { - $: (el) => (this.#el.saveSettingsBtn = el), + $: (el) => (this.#el.settings_saveBtn = el), type: "button", textContent: "Save", // 💾︎ - onclick: () => this.#saveSettings(), + onclick: () => this.#settingsTab_save(), }), ]), /* @@ -1441,6 +1412,40 @@ class ModelManager extends ComfyDialog { this.#el.settingsTab = settingsTab; return [settingsTab]; } + + /** + * @param {Event} e + */ + #setSidebar(e) { + // TODO: settings["sidebar-default-width"] + // TODO: settings["sidebar-default-height"] + // TODO: draggable resize? + const button = e.target; + const modelManager = this.element; + const sidebarButtons = this.#el.sidebarButtons.children; + + let buttonIndex; + for (buttonIndex = 0; buttonIndex < sidebarButtons.length; buttonIndex++) { + if (sidebarButtons[buttonIndex] === button) { + break; + } + } + + const sidebarStates = ["sidebar-left", "sidebar-top", "sidebar-bottom", "sidebar-right"]; + let stateIndex; + for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { + const state = sidebarStates[stateIndex]; + if (modelManager.classList.contains(state)) { + modelManager.classList.remove(state); + break; + } + } + + if (stateIndex != buttonIndex) { + const newSidebarState = sidebarStates[buttonIndex]; + modelManager.classList.add(newSidebarState); + } + } } let instance; From 31c1ed9dbb3f66b0d0b5bd34df523e80a5e12668 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 27 Jan 2024 05:43:38 -0500 Subject: [PATCH 35/79] Bug Fix: Smooth movement with arrow keys while mouse hovers over dropdown --- web/model-manager.js | 1 + 1 file changed, 1 insertion(+) diff --git a/web/model-manager.js b/web/model-manager.js index c3d0636..7201114 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -252,6 +252,7 @@ class DirectoryDropdown { const selection_select = (e) => { const selection = e.target; + if (e.movementX === 0 && e.movementY === 0) { return ; } if (!selection.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { // assumes only one will ever selected at a time e.stopPropagation(); From bc01a19f4cb896982931b64596533f810110258b Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 27 Jan 2024 05:48:09 -0500 Subject: [PATCH 36/79] Fix: fixed settings tab change --- web/model-manager.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 7201114..b285573 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -252,7 +252,7 @@ class DirectoryDropdown { const selection_select = (e) => { const selection = e.target; - if (e.movementX === 0 && e.movementY === 0) { return ; } + if (e.movementX === 0 && e.movementY === 0) { return; } if (!selection.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { // assumes only one will ever selected at a time e.stopPropagation(); @@ -1411,7 +1411,7 @@ class ModelManager extends ComfyDialog { ]), ]); this.#el.settingsTab = settingsTab; - return [settingsTab]; + return settingsTab; } /** From 9e2bfcab03e646be529ae30dbf57d3c261b6b6c9 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 27 Jan 2024 21:07:27 -0500 Subject: [PATCH 37/79] Minor changes --- web/model-manager.js | 94 +++++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index b285573..7ec51e7 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -88,20 +88,19 @@ class DirectoryDropdown { input.addEventListener( "keydown", (e) => { - const children = dropdown.children; - let iChild; - for (iChild = 0; iChild < children.length; iChild++) { - const child = children[iChild]; - if (child.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { + const options = dropdown.children; + let iSelection; + for (iSelection = 0; iSelection < options.length; iSelection++) { + const selection = options[iSelection]; + if (selection.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { break; } } if (e.key === "Escape") { e.stopPropagation(); - if (iChild < children.length) { - // remove select - const child = children[iChild]; - child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + if (iSelection < options.length) { + const selection = options[iSelection]; + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); } else { e.target.blur(); @@ -109,43 +108,43 @@ class DirectoryDropdown { } else if (e.key === "Enter") { e.stopPropagation(); - submitSearch(e.target, children[iChild]); + submitSearch(e.target, options[iSelection]); } else if (e.key === "ArrowDown" || e.key === "ArrowUp") { e.stopPropagation(); - let iNext = children.length; - if (iChild < children.length) { - const child = children[iChild]; - child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + let iNext = options.length; + if (iSelection < options.length) { + const selection = options[iSelection]; + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); const delta = e.key === "ArrowDown" ? 1 : -1; - iNext = iChild + delta; - if (0 <= iNext && iNext < children.length) { - const nextChild = children[iNext]; - nextChild.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + iNext = iSelection + delta; + if (0 <= iNext && iNext < options.length) { + const selectionNext = options[iNext]; + selectionNext.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); } } - else if (iChild === children.length) { - iNext = e.key === "ArrowDown" ? 0 : children.length-1; - const nextChild = children[iNext] - nextChild.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + else if (iSelection === options.length) { + iNext = e.key === "ArrowDown" ? 0 : options.length-1; + const selection = options[iNext] + selection.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); } - if (0 <= iNext && iNext < children.length) { - let scrollTop = dropdown.scrollTop; + if (0 <= iNext && iNext < options.length) { + let dropdownTop = dropdown.scrollTop; const dropdownHeight = dropdown.offsetHeight; - const child = children[iNext]; - const childHeight = child.offsetHeight; - const childTop = child.offsetTop; - scrollTop = Math.max(scrollTop, childTop - dropdownHeight + childHeight); - scrollTop = Math.min(scrollTop, childTop); - dropdown.scrollTop = scrollTop; + const selection = options[iNext]; + const selectionHeight = selection.offsetHeight; + const selectionTop = selection.offsetTop; + dropdownTop = Math.max(dropdownTop, selectionTop - dropdownHeight + selectionHeight); + dropdownTop = Math.min(dropdownTop, selectionTop); + dropdown.scrollTop = dropdownTop; } else { dropdown.scrollTop = 0; - const children = dropdown.children; - for (iChild = 0; iChild < children.length; iChild++) { - const child = children[iChild]; - if (child.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { - child.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + const options = dropdown.children; + for (iSelection = 0; iSelection < options.length; iSelection++) { + const selection = options[iSelection]; + if (selection.classList.contains(DROPDOWN_DIRECTORY_SELECTION_CLASS)) { + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); } } } @@ -293,6 +292,20 @@ class DirectoryDropdown { dropdown.append.apply(dropdown, innerHtml); dropdown.style.display = "block"; } + + /** + * @param {HTMLParagraphElement} selection + * @param {HTMLInputElement} input + * @param {string} sep + */ + static appendSelectionToInput(selection, input, sep) { + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + const selectedText = selection.innerText; + const oldFilterText = input.value; + const iSep = oldFilterText.lastIndexOf(sep); + const previousPath = oldFilterText.substring(0, iSep + 1); + input.value = previousPath + selectedText; + } } /** @@ -793,7 +806,6 @@ class ModelGrid { draggable: false, }), $el("div.model-preview-overlay", { - src: imgUrl, ondragend: (e) => dragAdd(e), draggable: true, }), @@ -1217,17 +1229,11 @@ class ModelManager extends ComfyDialog { /** * @param {HTMLInputElement} input - * @param {HTMLParagraphElement} selection + * @param {HTMLParagraphElement | undefined | null} selection */ #modelTab_submitSearch = (input, selection) => { if (selection !== undefined && selection !== null) { - selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); - const selectedText = selection.innerText; - const oldFilterText = input.value; - const iSep = oldFilterText.lastIndexOf(this.#sep); - const previousPath = oldFilterText.substring(0, iSep + 1); - const newFilterText = previousPath + selectedText; - input.value = newFilterText; + DirectoryDropdown.appendSelectionToInput(selection, input, this.#sep); this.#modelTab_updateDirectoryDropdown(); } input.blur(); From 74d96f86105561dd24d62c4b9be5c13621fd65d0 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 27 Jan 2024 21:25:37 -0500 Subject: [PATCH 38/79] Dropdown optional model type virtual directory --- web/model-manager.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 7ec51e7..59c69cc 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -155,10 +155,10 @@ class DirectoryDropdown { /** * @param {DirectoryItem[]} directories - * @param {string} modelType * @param {string} sep + * @param {string} [modelType = ""] */ - update(directories, modelType, sep) { + update(directories, sep, modelType = "") { const dropdown = this.element; const input = this.#input; const submitSearch = this.#submitSearch; @@ -169,15 +169,18 @@ class DirectoryDropdown { return; } - let cwd = null; - const root = directories[0]; - const rootChildIndex = root["childIndex"]; - const rootChildCount = root["childCount"]; - for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { - const modelDir = directories[i]; - if (modelDir["name"] === modelType) { - cwd = i; - break; + let cwd = 0; + if (modelType !== "") { + const root = directories[0]; + const rootChildIndex = root["childIndex"]; + const rootChildCount = root["childCount"]; + cwd = null; + for (let i = rootChildIndex; i < rootChildIndex + rootChildCount; i++) { + const modelDir = directories[i]; + if (modelDir["name"] === modelType) { + cwd = i; + break; + } } } @@ -1220,8 +1223,8 @@ class ModelManager extends ComfyDialog { const modelType = this.#el.modelTypeSelect.value; this.#modelContentFilterDirectoryDropdown.update( this.#data.modelDirectories, - modelType, this.#sep, + modelType, ); const value = this.#el.modelContentFilter.value; this.#data.previousModelFilters[modelType] = value; From 0ab8fd331a2dfeb355d9f0166d67457ea63c35ea Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Fri, 2 Feb 2024 23:42:10 -0500 Subject: [PATCH 39/79] Bug fix after change from function to dictionary for modelNodeType --- web/model-manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/model-manager.js b/web/model-manager.js index 59c69cc..a373498 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -662,7 +662,7 @@ class ModelGrid { const selectedNodes = app.canvas.selected_nodes; for (var i in selectedNodes) { const selectedNode = selectedNodes[i]; - const nodeType = modelNodeType(modelType); + const nodeType = modelNodeType[modelType]; const widgetIndex = modelWidgetIndex(nodeType); const target = selectedNode.widgets[widgetIndex].element; if (target && target.type === "textarea") { From 4d3be1844b75db7afc76ec70ec46356ce5f03cdb Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 7 Feb 2024 17:00:07 -0500 Subject: [PATCH 40/79] Model tab sort dropdown --- README.md | 10 ++---- __init__.py | 22 ++++++++---- web/model-manager.css | 2 +- web/model-manager.js | 82 ++++++++++++++++++++++++++++++++++++------- 4 files changed, 89 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 2e31d91..3c370dc 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Browse models in ComfyUI. (Downloading and deleting are WIP.) ## About this fork -I made this fork because the original repo was inactive and missing many things I needed to make the ComfyUI usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. +I made this fork because the original repo was inactive and missing many things I needed to make ComfyUI more usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. Currently it is still missing some features it should have. @@ -17,6 +17,7 @@ Currently it is still missing some features it should have. - Search `/`subdirectories of model directories based on your file structure (for example, `/0/1.5/styles/clothing`). - Add `/` at the start of the search bar to see auto-complete suggestions. - Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. +- Sort for models (Date Created, Date Modified, Name). - Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) - Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) - Right, left, top and bottom toggleable sidebar modes. @@ -65,12 +66,7 @@ Currently it is still missing some features it should have. - ☐ Directory dropdown - ☐ Use always filter to filter directory content auto-suggest dropdown - ☐ Generalize model list filtering code to reuse approach - - ☐ Highlight selection - - ☐ Key shortcuts - - ☐ Down & Up arrows to select dropdown option - - ☐ Right arrow or enter to add selection - - ☐ Escape to loose focus on dropdown - - ☐ Generalize search dropdown for download location selection + - ☐ Generalize search dropdown for download location selection - ☐ Filters dropdown - ☐ Stable Diffusion model version/Clip/Upscale/? - ☐ Favorites diff --git a/__init__.py b/__init__.py index d58dd68..c20bb85 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,5 @@ import os +import pathlib import sys import copy import hashlib @@ -268,7 +269,7 @@ async def load_download_models(request): models = {} for model_type in model_types: model_extensions = tuple(folder_paths_get_supported_pt_extensions(model_type)) - file_names = [] + file_infos = [] for base_path_index, model_base_path in enumerate(folder_paths_get_folder_paths(model_type)): if not os.path.exists(model_base_path): # Bug in main code? continue @@ -290,17 +291,26 @@ async def load_download_models(request): if model_name == image_name: image = end_swap_and_pop(dir_images, iImage) break + abs_path = os.path.join(cwd, model) + stats = pathlib.Path(abs_path).stat() + date_modified = stats.st_mtime_ns + date_created = stats.st_ctime_ns rel_path = "" if cwd == model_base_path else os.path.relpath(cwd, model_base_path) - file_names.append((model, image, base_path_index, rel_path)) - file_names.sort(key=lambda tup: tup[0].lower()) + info = (model, image, base_path_index, rel_path, date_modified, date_created) + file_infos.append(info) + file_infos.sort(key=lambda tup: tup[4], reverse=True) # TODO: remove sort; sorted on client model_items = [] - for model, image, base_path_index, rel_path in file_names: - # TODO: Stop sending redundant information + for model, image, base_path_index, rel_path, date_modified, date_created in file_infos: + # TODO: Stop sending redundant path information item = { "name": model, - "search-path": "/" + os.path.join(model_type, str(base_path_index), rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack + "searchPath": "/" + os.path.join(model_type, str(base_path_index), rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack "path": os.path.join(rel_path, model), + "dateModified": date_modified, + "dateCreated": date_created, + #"dateLastUsed": "", # TODO: track server-side, send increment client-side + #"countUsed": 0, # TODO: track server-side, send increment client-side } if image is not None: raw_post = os.path.join(model_type, str(base_path_index), rel_path, image) diff --git a/web/model-manager.css b/web/model-manager.css index a9bd543..22eb423 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -342,7 +342,7 @@ .model-manager .search-text-area, .model-manager .source-text-area, -.model-manager .model-type-dropdown { +.model-manager .model-select-dropdown { flex: 1; } diff --git a/web/model-manager.js b/web/model-manager.js index a373498..8f6f714 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -51,6 +51,10 @@ const modelNodeType = { const DROPDOWN_DIRECTORY_SELECTION_CLASS = "search-dropdown-selected"; +const MODEL_SORT_DATE_CREATED = "dateCreated"; +const MODEL_SORT_DATE_MODIFIED = "dateModified"; +const MODEL_SORT_DATE_NAME = "name"; + /** * @typedef {Object} DirectoryItem * @param {string} name @@ -594,7 +598,7 @@ class ModelGrid { static #filter(list, searchString) { /** @type {string[]} */ const keywords = searchString - .replace("*", " ") + //.replace("*", " ") // TODO: this is wrong for wildcards .split(/(-?".*?"|[^\s"]+)+/g) .map((item) => item .trim() @@ -603,7 +607,7 @@ class ModelGrid { .filter(Boolean); const regexSHA256 = /^[a-f0-9]{64}$/gi; - const fields = ["name", "search-path"]; // TODO: Remove "search-path" hack. + const fields = ["name", "searchPath"]; // TODO: Remove "searchPath" hack. return list.filter((element) => { const text = fields .reduce((memo, field) => memo + " " + element[field], "") @@ -621,6 +625,33 @@ class ModelGrid { }, true); }); } + + /** + * In-place sort. Returns an arrat alias. + * @param {Array} list + * @param {string} sortBy + * @param {bool} [reverse=false] + * @returns {Array} + */ + static #sort(list, sortBy, reverse = false) { + let compareFn = undefined; + switch (sortBy) { + case MODEL_SORT_DATE_NAME: + compareFn = (a, b) => { return a[MODEL_SORT_DATE_NAME].localeCompare(b[MODEL_SORT_DATE_NAME]); }; + break; + case MODEL_SORT_DATE_MODIFIED: + compareFn = (a, b) => { return b[MODEL_SORT_DATE_MODIFIED] - a[MODEL_SORT_DATE_MODIFIED]; }; + break; + case MODEL_SORT_DATE_CREATED: + compareFn = (a, b) => { return b[MODEL_SORT_DATE_CREATED] - a[MODEL_SORT_DATE_CREATED]; }; + break; + default: + console.warn("Invalid filter sort value: '" + sortBy + "'"); + return list; + } + const sorted = list.sort(compareFn); + return reverse ? sorted.reverse() : sorted; + } /** * @param {Event} event @@ -836,10 +867,12 @@ class ModelGrid { * @param {HTMLSelectElement} modelSelect * @param {Object.<{value: string}>} previousModelType * @param {Object} settings + * @param {string} sortBy + * @param {boolean} reverseSort * @param {Array} previousModelFilters * @param {HTMLInputElement} modelFilter */ - static update(modelGrid, models, modelSelect, previousModelType, settings, previousModelFilters, modelFilter) { + static update(modelGrid, models, modelSelect, previousModelType, settings, sortBy, reverseSort, previousModelFilters, modelFilter) { let modelType = modelSelect.value; if (models[modelType] === undefined) { modelType = "checkpoints"; // TODO: magic value @@ -870,6 +903,7 @@ class ModelGrid { const searchAppend = settings["model-search-always-append"].value; const searchText = modelFilter.value + " " + searchAppend; const modelList = ModelGrid.#filter(models[modelType], searchText); + ModelGrid.#sort(modelList, sortBy, reverseSort); modelGrid.innerHTML = ""; const modelGridModels = ModelGrid.#generateInnerHtml(modelList, modelType, settings); @@ -927,6 +961,7 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, + /** @type {HTMLSelectElement} */ modelSortSelect: null, /** @type {HTMLDivElement} */ searchDirectoryDropdown: null, /** @type {HTMLInputElement} */ modelContentFilter: null, @@ -1181,11 +1216,25 @@ class ModelManager extends ComfyDialog { textContent: "⟳", onclick: () => this.#modelTab_updateModels(), }), - $el("select.model-type-dropdown", { + $el("select.model-select-dropdown", { $: (el) => (this.#el.modelTypeSelect = el), name: "model-type", onchange: () => this.#modelTab_updateModelGrid(), }), + $el("select.model-select-dropdown", + { + $: (el) => (this.#el.modelSortSelect = el), + onchange: () => this.#modelTab_updateModelGrid(), + }, + [ + $el("option", { value: MODEL_SORT_DATE_CREATED }, ["Date Created (newest to oldest)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_CREATED }, ["Date Created (oldest to newest)"]), + $el("option", { value: MODEL_SORT_DATE_MODIFIED }, ["Date Modified (newest to oldest)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_MODIFIED }, ["Date Modified (oldest to newest)"]), + $el("option", { value: MODEL_SORT_DATE_NAME }, ["Name (A-Z)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_NAME }, ["Name (Z-A)"]), + ], + ), ]), $el("div.row.tab-header-flex-block", [ $el("div.search-models", [ @@ -1203,15 +1252,22 @@ class ModelManager extends ComfyDialog { ]; } - #modelTab_updateModelGrid = () => ModelGrid.update( - this.#el.modelGrid, - this.#data.models, - this.#el.modelTypeSelect, - this.#data.previousModelType, - this.#el.settings, - this.#data.previousModelFilters, - this.#el.modelContentFilter - ); + #modelTab_updateModelGrid = () => { + const sortValue = this.#el.modelSortSelect.value; + const reverseSort = sortValue[0] === "-"; + const sortBy = reverseSort ? sortValue.substring(1) : sortValue; + ModelGrid.update( + this.#el.modelGrid, + this.#data.models, + this.#el.modelTypeSelect, + this.#data.previousModelType, + this.#el.settings, + sortBy, + reverseSort, + this.#data.previousModelFilters, + this.#el.modelContentFilter + ); + } async #modelTab_updateModels() { this.#data.models = await request("/model-manager/models"); From ec62b22a63e732f69ee4218b1b236a38323f2365 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 7 Feb 2024 18:31:36 -0500 Subject: [PATCH 41/79] Narrow width fix CSS selection + row. --- README.md | 2 -- web/model-manager.css | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3c370dc..50830af 100644 --- a/README.md +++ b/README.md @@ -71,8 +71,6 @@ Currently it is still missing some features it should have. - ☐ Stable Diffusion model version/Clip/Upscale/? - ☐ Favorites - ☐ Sort-by dropdown - - ☐ Date modified (ascending/decending) - - ☐ Date created (ascending/decending) - ☐ Recently used (ascending/decending) - ☐ Frequently used (ascending/decending) - ☐ `or` vs `and` type of keyword search (currently `and`) diff --git a/web/model-manager.css b/web/model-manager.css index 22eb423..a957d3c 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -261,6 +261,7 @@ /* model manager row */ .model-manager .row { display: flex; + min-width: 0; gap: 8px; } @@ -340,6 +341,11 @@ flex: 1; } +.model-manager .model-select-dropdown { + min-width: 0; + overflow: auto; +} + .model-manager .search-text-area, .model-manager .source-text-area, .model-manager .model-select-dropdown { From c94a85c3faef5e9221becb6d1ea8b0c8e4a06133 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 12 Feb 2024 13:59:02 -0500 Subject: [PATCH 42/79] WIP: Download tab rewrite - Slight improvements to directory auto-suggest dropdown - Slight refactoring (code needs to be split into files) --- web/model-manager.css | 18 +- web/model-manager.js | 812 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 776 insertions(+), 54 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index a957d3c..180630c 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -139,10 +139,10 @@ .comfy-radio { display: flex; gap: 4px; - padding: 4px 8px; + padding: 4px 16px; color: var(--input-text); - border: 2px solid var(--comfy-input-bg); - border-radius: 8px; + border: 2px solid var(--border-color); + border-radius: 16px; background-color: var(--comfy-input-bg); font-size: 18px; } @@ -356,8 +356,6 @@ position: absolute; background-color: var(--bg-color); border: 2px var(--border-color) solid; - top: 45px; - width: 94.7%; max-height: 30vh; overflow: auto; border-radius: 10px; @@ -415,3 +413,13 @@ border: solid 2px var(--border-color); border-radius: 8px; } + +.model-preview-select-radio-container img { + position: relative; + width: 230px; + height: 345px; + text-align: center; + overflow: hidden; + border-radius: 8px; + object-fit: cover; +} diff --git a/web/model-manager.js b/web/model-manager.js index 8f6f714..5c30154 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -55,6 +55,294 @@ const MODEL_SORT_DATE_CREATED = "dateCreated"; const MODEL_SORT_DATE_MODIFIED = "dateModified"; const MODEL_SORT_DATE_NAME = "name"; +/** + * Tries to return the related ComfyUI model directory if unambigious. + * + * @param {string} modelType - Civitai model type. + * @param {string} [fileType] - Civitai file type. Relevant for "Diffusers". + * + * @returns {(string|null)} Logical base directory name for model type. May be null if the directory is ambiguous or not a model type. + */ +function civitai_comfyUiDirectory(modelType, fileType) { + if (fileType == "Diffusers") { return "diffusers"; } // TODO: is this correct? + + // TODO: somehow allow for SERVER to set dir? + // TODO: allow user to choose EXISTING folder override/null? (style_models, HuggingFace) (use an object/map instead so settings can be dynamically set) + if (modelType == "AestheticGradient") { return null; } + else if (modelType == "Checkpoint") { return "checkpoints"; } // TODO: what about VAE? + //else if (modelType == "") { return "clip"; } + //else if (modelType == "") { return "clip_vision"; } + else if (modelType == "Controlnet") { return "controlnet"; } + //else if (modelType == "Controlnet") { return "style_models"; } // are these controlnets? (TI-Adapter) + //else if (modelType == "") { return "gligen"; } + else if (modelType == "Hypernetwork") { return "hypernetworks"; } + else if (modelType == "LORA") { return "loras"; } + else if (modelType == "LoCon") { return "loras"; } + else if (modelType == "MotionModule") { return null; } + else if (modelType == "Other") { return null; } + else if (modelType == "Pose") { return null; } + else if (modelType == "TextualInversion") { return "embeddings"; } + //else if (modelType == "") { return "unet"; } + else if (modelType == "Upscaler") { return "upscale_models"; } + else if (modelType == "VAE") { return "vae"; } + else if (modelType == "Wildcards") { return null; } + else if (modelType == "Workflows") { return null; } + return null; +} + +/** + * Get model info from Civitai. + * + * @param {string} id - Model ID. + * @param {string} apiPath - Civitai request subdirectory. "models" for 'model' urls. "model-version" for 'api' urls. + * + * @returns {Object} Dictionary containing recieved model info. Returns an empty if fails. + */ +async function civitai_requestInfo(id, apiPath) { + const url = "https://civitai.com/api/v1/" + apiPath + "/" + id; + return await request(url); +} + +/** + * Extract file information from the given model version infomation. + * + * @param {Object} modelVersionInfo - Model version infomation. + * @param {(string|null)} [type=null] - Optional select by model type. + * @param {(string|null)} [fp=null] - Optional select by floating point quantization. + * @param {(string|null)} [size=null] - Optional select by sizing. + * @param {(string|null)} [format=null] - Optional select by file format. + * + * @returns {Object} - Extracted list of infomation on each file of the given model version. + */ +function civitai_getModelFilesInfo(modelVersionInfo, type = null, fp = null, size = null, format = null) { + const files = []; + const modelVersionFiles = modelVersionInfo["files"]; + for (let i = 0; i < modelVersionFiles.length; i++) { + const modelVersionFile = modelVersionFiles[i]; + + const fileType = modelVersionFile["type"]; + if (type instanceof String && type != fileType) { continue; } + + const fileMeta = modelVersionFile["metadata"]; + + const fileFp = fileMeta["fp"]; + if (fp instanceof String && fp != fileFp) { continue; } + + const fileSize = fileMeta["size"]; + if (size instanceof String && size != fileSize) { continue; } + + const fileFormat = fileMeta["format"]; + if (format instanceof String && format != fileFormat) { continue; } + + files.push({ + "downloadUrl": modelVersionFile["downloadUrl"], + "format": fileFormat, + "fp": fileFp, + "hashes": modelVersionFile["hashes"], + "name": modelVersionFile["name"], + "size": fileSize, + "sizeKB": modelVersionFile["sizeKB"], + "type": fileType, + }); + } + return { + "files": files, + "id": modelVersionInfo["id"], + "images": modelVersionInfo["images"].map((image) => { + // TODO: do I need to double-check image matches resource? + return image["url"]; + }), + "name": modelVersionInfo["name"], + }; +} + +/** + * + * + * @param {string} stringUrl - Model url. + * + * @returns {Object} - Download information for the given url. + */ +async function civitai_getFilteredInfo(stringUrl) { + const url = new URL(stringUrl); + if (url.hostname != 'civitai.com') { return {}; } + if (url.pathname == '/') { return {} } + const urlPath = url.pathname; + if (urlPath.startsWith('/api')) { + const idEnd = urlPath.length - (urlPath.at(-1) == "/" ? 1 : 0); + const idStart = urlPath.lastIndexOf("/", idEnd - 1) + 1; + const modelVersionId = urlPath.substring(idStart, idEnd); + if (parseInt(modelVersionId, 10) == NaN) { + return {}; + } + const modelVersionInfo = await civitai_requestInfo(modelVersionId, "model-versions"); + if (Object.keys(modelVersionInfo).length == 0) { + return {}; + } + const searchParams = url.searchParams; + const filesInfo = civitai_getModelFilesInfo( + modelVersionInfo, + searchParams.get("type"), + searchParams.get("fp"), + searchParams.get("size"), + searchParams.get("format"), + ); + return { + "name": modelVersionInfo["model"]["name"], + "type": modelVersionInfo["model"]["type"], + "versions": [filesInfo] + } + } + else if (urlPath.startsWith('/models')) { + const idStart = urlPath.indexOf("/", 1) + 1; + const idEnd = urlPath.indexOf("/", idStart); + const modelId = urlPath.substring(idStart, idEnd); + if (parseInt(modelId, 10) == NaN) { + return {}; + } + const modelInfo = await civitai_requestInfo(modelId, "models"); + if (Object.keys(modelInfo).length == 0) { + return {}; + } + const modelVersionId = parseInt(url.searchParams.get("modelVersionId")); + const modelVersions = []; + const modelVersionInfos = modelInfo["modelVersions"]; + for (let i = 0; i < modelVersionInfos.length; i++) { + const versionInfo = modelVersionInfos[i]; + if (modelVersionId instanceof String && modelVersionId != versionInfo["id"]) { continue; } + const filesInfo = civitai_getModelFilesInfo(versionInfo); + modelVersions.push(filesInfo); + } + return { + "name": modelInfo["name"], + "type": modelInfo["type"], + "versions": modelVersions + } + } + else { + return {}; + } +} + +/** + * Get model info from Huggingface. + * + * @param {string} id - Model ID. + * @param {string} apiPath - API path. + * + * @returns {Promise} Dictionary containing recieved model info. Returns an empty if fails. + */ +async function huggingFace_requestInfo(id, apiPath = "models") { + const url = "https://huggingface.co/api/" + apiPath + "/" + id; + return await request(url); +} + +/** + * + * + * @param {string} stringUrl - Model url. + * + * @returns {Promise} + */ +async function huggingFace_getFilteredInfo(stringUrl) { + const url = new URL(stringUrl); + if (url.hostname != 'huggingface.co') { return {}; } + if (url.pathname == '/') { return {} } + const urlPath = url.pathname; + const i0 = 1; + const i1 = urlPath.indexOf("/", i0); + if (i1 == -1 || urlPath.length - 1 == i1) { + // user-name only + return {}; + } + let i2 = urlPath.indexOf("/", i1 + 1); + if (i2 == -1) { + // model id only + i2 = urlPath.length; + } + const modelId = urlPath.substring(i0, i2); + const urlPathEnd = urlPath.substring(i2); + + let branch = null; + if (urlPathEnd.startsWith("/resolve")) { + branch = "/resolve"; + } + else if (urlPathEnd.startsWith("/blob")) { + branch = "/blob"; + } + else if (urlPathEnd.startsWith("/tree")) { + branch = "/tree"; + } + + let filePath = ""; + if (branch == null) { + branch = "/tree/main"; + } + else { + const i0 = branch.length; + const i1 = urlPathEnd.indexOf("/", i0 + 1); + if (i1 == -1) { + if (i0 == urlPathEnd.length) { + // ends with '/tree' (invalid?) + branch = "/tree/main"; + } + else { + // ends with branch + branch = "/tree" + urlPathEnd.substring(i0); + } + } + else { + branch = "/tree" + urlPathEnd.substring(i0, i1); + if (urlPathEnd.length - 1 > i1) { + filePath = urlPathEnd.substring(i1); + } + } + } + + const modelInfo = await huggingFace_requestInfo(modelId); + //const modelInfo = await requestInfo(modelId + branch); // this only gives you the files at the given branch path... + // oid: SHA-1?, lfs.oid: SHA-256 + + const validModelExtensions = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"]; // TODO: ask server for? + const clippedFilePath = filePath.substring(filePath[0] === "/" ? 1 : 0); + const modelFiles = modelInfo["siblings"].filter((sib) => { + const filename = sib["rfilename"]; + for (let i = 0; i < validModelExtensions.length; i++) { + if (filename.endsWith(validModelExtensions[i])) { + return filename.startsWith(clippedFilePath); + } + } + return false; + }).map((sib) => { + const filename = sib["rfilename"]; + return filename; + }); + if (modelFiles.length === 0) { + return {}; + } + + const validImageExtensions = [".png", ".webp", ".gif"]; // TODO: ask server for? + const imageFiles = modelInfo["siblings"].filter((sib) => { + const filename = sib["rfilename"]; + for (let i = 0; i < validImageExtensions.length; i++) { + if (filename.endsWith(validImageExtensions[i])) { + return filename.startsWith(filePath); + } + } + return false; + }).map((sib) => { + const filename = sib["rfilename"]; + return filename; + }); + + const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch; + return { + "baseDownloadUrl": baseDownloadUrl, + "modelFiles": modelFiles, + "imageFiles": imageFiles, + }; +} + /** * @typedef {Object} DirectoryItem * @param {string} name @@ -68,23 +356,36 @@ class DirectoryDropdown { /** @type {HTMLInputElement} */ #input = undefined; - + + // TODO: remove this /** @type {Function} */ - #submitSearch = null; - + #updateDropdown = null; + + /** @type {Function} */ + #updateCallback = null; + + /** @type {Function} */ + #submitCallback = null; + /** * @param {HTMLInputElement} input * @param {Function} updateDropdown - * @param {Function} submitSearch + * @param {Function} [updateCallback= () => {}] + * @param {Function} [submitCallback= () => {}] + * @param {String} [sep="/"] */ - constructor(input, updateDropdown, submitSearch) { + constructor(input, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, sep = "/") { /** @type {HTMLDivElement} */ const dropdown = $el("div.search-dropdown", { // TODO: change to `search-directory-dropdown` - style: { display: "none" }, + style: { + display: "none", + }, }); this.element = dropdown; this.#input = input; - this.#submitSearch = submitSearch; + this.#updateDropdown = updateDropdown; + this.#updateCallback = updateCallback; + this.#submitCallback = submitCallback; input.addEventListener("input", () => updateDropdown()); input.addEventListener("focus", () => updateDropdown()); @@ -110,12 +411,35 @@ class DirectoryDropdown { e.target.blur(); } } + else if (e.key === "ArrowRight") { + const selection = options[iSelection]; + if (selection !== undefined && selection !== null) { + e.stopPropagation(); + e.preventDefault(); // prevent cursor move + DirectoryDropdown.submitSearch( + e.target, + selection, + updateDropdown, + updateCallback, + submitCallback, + sep, + ); + } + } else if (e.key === "Enter") { e.stopPropagation(); - submitSearch(e.target, options[iSelection]); + DirectoryDropdown.submitSearch( + e.target, + options[iSelection], + updateDropdown, + updateCallback, + submitCallback, + sep, + ); } else if (e.key === "ArrowDown" || e.key === "ArrowUp") { e.stopPropagation(); + e.preventDefault(); // prevent cursor move let iNext = options.length; if (iSelection < options.length) { const selection = options[iSelection]; @@ -157,6 +481,34 @@ class DirectoryDropdown { ); } + /** + * @param {HTMLInputElement} input + * @param {HTMLParagraphElement | undefined | null} selection + * @param {Function} updateDropdown + * @param {Fucntion} [updateCallback=() => {}] + * @param {Function} [submitCallback=() => {}] + * @param {String} [sep="/"] + */ + static submitSearch(input, selection, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, sep = "/") { + let blur = true; + if (selection !== undefined && selection !== null) { + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + const selectedText = selection.innerText; + blur = !selectedText.endsWith(sep); // is directory + const oldFilterText = input.value; + const iSep = oldFilterText.lastIndexOf(sep); + const previousPath = oldFilterText.substring(0, iSep + 1); + input.value = previousPath + selectedText; + + updateDropdown(); + updateCallback(); + } + if (blur) { + input.blur(); + } + submitCallback(); + } + /** * @param {DirectoryItem[]} directories * @param {string} sep @@ -165,7 +517,9 @@ class DirectoryDropdown { update(directories, sep, modelType = "") { const dropdown = this.element; const input = this.#input; - const submitSearch = this.#submitSearch; + const updateDropdown = this.#updateDropdown; + const updateCallback = this.#updateCallback; + const submitCallback = this.#submitCallback; const filter = input.value; if (filter[0] !== sep) { @@ -239,9 +593,12 @@ class DirectoryDropdown { const childCount = item["childCount"]; const items = directories.slice(childIndex, childIndex + childCount); for (let i = 0; i < items.length; i++) { - const itemName = items[i]["name"]; + const child = items[i]; + const grandChildCount = child["childCount"]; + const isDir = grandChildCount !== undefined && grandChildCount !== null && grandChildCount > 0; + const itemName = child["name"]; if (itemName.startsWith(lastWord)) { - options.push(itemName); + options.push(itemName + (isDir ? "/" : "")); } } } @@ -277,7 +634,14 @@ class DirectoryDropdown { }; const selection_submit = (e) => { e.stopPropagation(); - submitSearch(input, e.target); + DirectoryDropdown.submitSearch( + input, + e.target, + updateDropdown, + updateCallback, + submitCallback, + sep + ); }; const innerHtml = options.map((text) => { /** @type {HTMLParagraphElement} */ @@ -297,22 +661,13 @@ class DirectoryDropdown { }); dropdown.innerHTML = ""; dropdown.append.apply(dropdown, innerHtml); + // TODO: handle when dropdown is near the bottom of the window + const inputRect = input.getBoundingClientRect(); + dropdown.style.minWidth = inputRect.width + "px"; + dropdown.style.top = (input.offsetTop + inputRect.height) + "px"; + dropdown.style.left = input.offsetLeft + "px"; dropdown.style.display = "block"; } - - /** - * @param {HTMLParagraphElement} selection - * @param {HTMLInputElement} input - * @param {string} sep - */ - static appendSelectionToInput(selection, input, sep) { - selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); - const selectedText = selection.innerText; - const oldFilterText = input.value; - const iSep = oldFilterText.lastIndexOf(sep); - const previousPath = oldFilterText.substring(0, iSep + 1); - input.value = previousPath + selectedText; - } } /** @@ -958,6 +1313,9 @@ class ModelManager extends ComfyDialog { /** @type {HTMLInputElement} */ loadSourceFromInput: null, /** @type {HTMLSelectElement} */ sourceInstalledFilter: null, /** @type {HTMLInputElement} */ sourceContentFilter: null, + + /** @type {HTMLDivElement} */ modelInfoUrl: null, + /** @type {HTMLDivElement} */ modelInfos: null, /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, @@ -1041,6 +1399,7 @@ class ModelManager extends ComfyDialog { $tab("Install", this.#createSourceInstall()), $tab("Models", this.#modelTab_new()), $tab("Settings", [this.#settingsTab_new()]), + //$tab("Download2", [this.#downloadTab_new()]), ]), ]), ] @@ -1204,7 +1563,9 @@ class ModelManager extends ComfyDialog { const searchDropdown = new DirectoryDropdown( searchInput, this.#modelTab_updateDirectoryDropdown, - this.#modelTab_submitSearch + this.#modelTab_updatePreviousModelFilter, + this.#modelTab_updateModelGrid, + this.#sep, ); this.#modelContentFilterDirectoryDropdown = searchDropdown; @@ -1227,10 +1588,10 @@ class ModelManager extends ComfyDialog { onchange: () => this.#modelTab_updateModelGrid(), }, [ - $el("option", { value: MODEL_SORT_DATE_CREATED }, ["Date Created (newest to oldest)"]), - $el("option", { value: "-" + MODEL_SORT_DATE_CREATED }, ["Date Created (oldest to newest)"]), - $el("option", { value: MODEL_SORT_DATE_MODIFIED }, ["Date Modified (newest to oldest)"]), - $el("option", { value: "-" + MODEL_SORT_DATE_MODIFIED }, ["Date Modified (oldest to newest)"]), + $el("option", { value: MODEL_SORT_DATE_CREATED }, ["Created (newest to oldest)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_CREATED }, ["Created (oldest to newest)"]), + $el("option", { value: MODEL_SORT_DATE_MODIFIED }, ["Modified (newest to oldest)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_MODIFIED }, ["Modified (oldest to newest)"]), $el("option", { value: MODEL_SORT_DATE_NAME }, ["Name (A-Z)"]), $el("option", { value: "-" + MODEL_SORT_DATE_NAME }, ["Name (Z-A)"]), ], @@ -1271,32 +1632,24 @@ class ModelManager extends ComfyDialog { async #modelTab_updateModels() { this.#data.models = await request("/model-manager/models"); - this.#data.modelDirectories = await request("/model-manager/model-directory-list"); + const newModelDirectories = await request("/model-manager/model-directory-list"); + this.#data.modelDirectories.splice(0, Infinity, ...newModelDirectories); // note: do NOT create a new array this.#modelTab_updateModelGrid(); } - #modelTab_updateDirectoryDropdown = () => { + #modelTab_updatePreviousModelFilter = () => { const modelType = this.#el.modelTypeSelect.value; + const value = this.#el.modelContentFilter.value; + this.#data.previousModelFilters[modelType] = value; + }; + + #modelTab_updateDirectoryDropdown = () => { this.#modelContentFilterDirectoryDropdown.update( this.#data.modelDirectories, this.#sep, - modelType, + this.#el.modelTypeSelect.value, ); - const value = this.#el.modelContentFilter.value; - this.#data.previousModelFilters[modelType] = value; - } - - /** - * @param {HTMLInputElement} input - * @param {HTMLParagraphElement | undefined | null} selection - */ - #modelTab_submitSearch = (input, selection) => { - if (selection !== undefined && selection !== null) { - DirectoryDropdown.appendSelectionToInput(selection, input, this.#sep); - this.#modelTab_updateDirectoryDropdown(); - } - input.blur(); - this.#modelTab_updateModelGrid(); + this.#modelTab_updatePreviousModelFilter(); } /** @@ -1512,6 +1865,367 @@ class ModelManager extends ComfyDialog { modelManager.classList.add(newSidebarState); } } + + /** + * @param {HTMLDivElement} previewImageContainer + * @param {Event} e + * @param {1 | -1} step + */ + static #downloadTab_updatePreview(previewImageContainer, step) { + const children = previewImageContainer.children; + if (children.length === 0) { + return; + } + let currentIndex = -step; + for (let i = 0; i < children.length; i++) { + const previewImage = children[i]; + const display = previewImage.style.display; + if (display !== "none") { + currentIndex = i; + } + previewImage.style.display = "none"; + } + currentIndex = currentIndex + step; + if (currentIndex >= children.length) { currentIndex = 0; } + else if (currentIndex < 0) { currentIndex = children.length - 1; } + children[currentIndex].style.display = "block"; + } + + /** + * @param {Object} info + * @param {String[]} modelTypes + * @param {DirectoryItem[]} modelDirectories + * @param {String} sep + * @returns {HTMLDivElement} + */ + #downloadTab_modelInfo(info, modelTypes, modelDirectories, sep) { + // TODO: use passed in info + const RADIO_MODEL_PREVIEW_GROUP_NAME = "model-download-info-preview-model"; + const RADIO_MODEL_PREVIEW_DEFAULT = "Default Preview"; + const RADIO_MODEL_PREVIEW_CUSTOM = "Custom Preview Url"; + + const els = { + modelPreviewContainer: null, + previewImgs: null, + buttonLeft: null, + buttonRight: null, + + customPreviewContainer: null, + customPreviewUrl: null, + + modelTypeSelect: null, + saveDirectoryPath: null, + filename: null, + }; + + const datas = { + cachedUrl: "", + }; + + $el("input", { + $: (el) => (els.saveDirectoryPath = el), + type: "text", + placeholder: "/0", + value: "/0", + }); + + $el("select", { + $: (el) => (els.modelTypeSelect = el), + }, (() => { + const options = [$el("option", { value: "" }, ["-- Model Type --"])]; + modelTypes.forEach((modelType) => { + options.push($el("option", { value: modelType }, [modelType])); + }); + return options; + })()); + + let searchDropdown = null; + searchDropdown = new DirectoryDropdown( + els.saveDirectoryPath, + () => { + const modelType = els.modelTypeSelect.value; + if (modelType === "") { return; } + searchDropdown.update( + modelDirectories, + sep, + modelType, + ); + }, + () => {}, + () => {}, + sep, + ); + + const filepath = info["downloadFilePath"]; + const modelInfo = $el("details", [ + $el("summary", [filepath + info["fileName"]]), + $el("div", [ + $el("div", [ + $el("button", { + onclick: (e) => { + const url = datas.cachedUrl; + const modelType = els.modelTypeSelect.value; // TODO: cannot be empty string or invalid selection + const path = els.saveDirectoryPath.value; // TODO: server: root must be valid + const filename = els.filename.value; // note: does not include file extension + const imgUrl = (() => { + const value = document.querySelector(`input[name="${RADIO_MODEL_PREVIEW_GROUP_NAME}"]:checked`).value; + switch (value) { + case RADIO_MODEL_PREVIEW_DEFAULT: + const children = els.previewImgs.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.style.display !== "none") { + return child.src; + } + } + return ""; + case RADIO_MODEL_PREVIEW_CUSTOM: + return els.customPreviewUrl.value; + } + return ""; + })(); + // TODO: lock downloading + // TODO: send download info to server + // TODO: unlock downloading + }, + }, ["Download"]), + els.modelTypeSelect, + $el("div", [ + els.saveDirectoryPath, + searchDropdown.element, + ]), + $el("input", { + $: (el) => (els.filename = el), + type: "text", + placeholder: (() => { + const filename = info["fileName"]; + // TODO: only remove valid model file extensions + const i = filename.lastIndexOf("."); + return i === - 1 ? filename : filename.substring(0, i); + })(), + }), + ]), + /* + $el("div", (() => { + return Object.entries(info["details"]).filter(([, value]) => { + return value !== undefined && value !== null; + }).map(([key, value]) => { + const el = document.createElement("p"); + el.innerText = key + ": " + value; + return el; + }); + })()), + */ + $el("div.model-preview-select-radio-container", [ + $radioGroup({ + name: RADIO_MODEL_PREVIEW_GROUP_NAME, + onchange: (value) => { + switch (value) { + case RADIO_MODEL_PREVIEW_DEFAULT: + const bottonStyleDisplay = els.previewImgs.children.length > 1 ? "block" : "none"; + els.buttonLeft.style.display = bottonStyleDisplay; + els.buttonRight.style.display = bottonStyleDisplay; + els.modelPreviewContainer.style.display = "block"; + els.customPreviewContainer.style.display = "none"; + break; + case RADIO_MODEL_PREVIEW_CUSTOM: + els.modelPreviewContainer.style.display = "none"; + els.customPreviewContainer.style.display = "block"; + break; + default: + els.modelPreviewContainer.style.display = "none"; + els.customPreviewContainer.style.display = "none"; + break; + } + }, + options: (() => { + const radios = []; + radios.push({ value: "No Preview" }); + if (info["images"].length > 0) { + radios.push({ value: RADIO_MODEL_PREVIEW_DEFAULT }); + } + radios.push({ value: RADIO_MODEL_PREVIEW_CUSTOM }); + return radios; + })(), + }), + $el("div", [ + $el("div", { + $: (el) => (els.modelPreviewContainer = el), + style: { display: "none" }, + }, [ + $el("div", { + $: (el) => (els.previewImgs = el), + }, (() => { + const imgs = info["images"].map((url) => { + return $el("img", { + src: url, + style: { display: "none" }, + loading: "lazy", + }); + }); + if (imgs.length > 0) { + imgs[0].style.display = "block"; + } + return imgs; + })()), + $el("div", [ + $el("button", { + $: (el) => (els.buttonLeft = el), + onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, -1), + }, ["LEFT"]), + $el("button", { + $: (el) => (els.buttonRight = el), + onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, 1), + }, ["RIGHT"]), + ]), + ]), + $el("div", { + $: (el) => (els.customPreviewContainer = el), + style: { display: "none" }, + }, [ + $el("input.search-text-area", { + $: (el) => (els.customPreviewUrl = el), + type: "text", + placeholder: "(preview image url)" + }), + ]), + ]), + ]), + ]), + ]); + + const modelTypeSelect = els.modelTypeSelect; + modelTypeSelect.selectedIndex = 0; // reset + const comfyUIModelType = ( + civitai_comfyUiDirectory(info["details"]["fileType"]) ?? + civitai_comfyUiDirectory(info["modelType"]) ?? + null + ); + if (comfyUIModelType !== undefined && comfyUIModelType !== null) { + const modelTypeOptions = modelTypeSelect.children; + for (let i = 0; i < modelTypeOptions.length; i++) { + const option = modelTypeOptions[i]; + if (option.value === comfyUIModelType) { + modelTypeSelect.selectedIndex = i; + break; + } + } + } + + return modelInfo; + } + + async #downloadTab_search() { + const infosHtml = this.#el.modelInfos; + infosHtml.innerHTML = ""; + + const urlText = this.#el.modelInfoUrl.value; + const modelInfos = await (async () => { + if (urlText.startsWith("https://civitai.com")) { + const civitaiInfo = await civitai_getFilteredInfo(urlText); + if (Object.keys(civitaiInfo).length === 0) { + return []; + } + const infos = []; + const type = civitaiInfo["type"]; + civitaiInfo["versions"].forEach((version) => { + const images = version["images"]; + version["files"].forEach((file) => { + infos.push({ + "images": images, + "fileName": file["name"], + "modelType": type, + "downloadUrl": file["downloadUrl"], + "downloadFilePath": "", + "details": { + "fileSizeKB": file["sizeKB"], + "fileType": file["type"], + "fp": file["fp"], + "quant": file["size"], + "fileFormat": file["format"], + }, + }); + }); + }); + return infos; + } + if (urlText.startsWith("https://huggingface.co")) { + const hfInfo = await huggingFace_getFilteredInfo(urlText); + if (Object.keys(hfInfo).length === 0) { + return []; + } + const files = hfInfo["modelFiles"]; + if (files.length === 0) { + return []; + } + + const baseDownloadUrl = hfInfo["baseDownloadUrl"]; + return hfInfo["modelFiles"].map((file) => { + const indexSep = file.lastIndexOf("/"); + const filename = file.substring(indexSep + 1); + return { + "images": [], // TODO: ambiguous? + "fileName": filename, + "modelType": "", + "downloadUrl": baseDownloadUrl + "/" + file, + "downloadFilePath": file.substring(0, indexSep + 1), + "details": { + "fileSizeKB": undefined, // TODO: too hard? + }, + }; + }); + } + if (urlText.endsWith(".json")) { + // TODO: support old index model files + return []; + } + return []; + })(); + + const modelTypes = Object.keys(this.#data.models); + const modelInfosHtml = modelInfos.map((modelInfo) => { + return this.#downloadTab_modelInfo( + modelInfo, + modelTypes, + this.#data.modelDirectories, + this.#sep, + ); + }); + if (modelInfos.length === 0) { + modelInfosHtml.push($el("div", ["No results found."])); + } + else if (modelInfos.length === 1) { + modelInfosHtml[0].open = true; + } + infosHtml.append.apply(infosHtml, modelInfosHtml); + } + + /** + * @returns {HTMLElement} + */ + #downloadTab_new() { + return $el("div", [ + $el("div", [ + $el("input.search-text-area", { + $: (el) => (this.#el.modelInfoUrl = el), + type: "text", + placeholder: "Civitai or HuggingFace model", + onkeydown: (e) => { + if (e.key === "Enter") { + e.stopPropagation(); + this.#downloadTab_search(); + } + }, + }), + $el("button", { + onclick: () => this.#downloadTab_search(), + }, ["Search"]), + ]), + $el("div", { + $: (el) => (this.#el.modelInfos = el), + }), + ]); + } } let instance; From 1e844982c39f7fc2841013307b042694d3a7fba1 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 12 Feb 2024 14:47:30 -0500 Subject: [PATCH 43/79] Minor changes to left/right arrow navigation --- web/model-manager.js | 129 +++++++++++++++++++++++++++---------------- 1 file changed, 80 insertions(+), 49 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 5c30154..cafadc3 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -386,7 +386,7 @@ class DirectoryDropdown { this.#updateDropdown = updateDropdown; this.#updateCallback = updateCallback; this.#submitCallback = submitCallback; - + input.addEventListener("input", () => updateDropdown()); input.addEventListener("focus", () => updateDropdown()); input.addEventListener("blur", () => { dropdown.style.display = "none"; }); @@ -411,33 +411,81 @@ class DirectoryDropdown { e.target.blur(); } } - else if (e.key === "ArrowRight") { + else if (e.key === "ArrowRight" && dropdown.style.display !== "none") { const selection = options[iSelection]; if (selection !== undefined && selection !== null) { e.stopPropagation(); e.preventDefault(); // prevent cursor move - DirectoryDropdown.submitSearch( - e.target, - selection, - updateDropdown, - updateCallback, - submitCallback, - sep, - ); + const input = e.target; + DirectoryDropdown.selectionToInput(input, selection, sep); + updateDropdown(); + //updateCallback(); + //submitCallback(); + const options = dropdown.children; + if (options.length > 0) { + // arrow key navigation + options[0].classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + } + } + else if (e.key === "ArrowLeft" && dropdown.style.display !== "none") { + const input = e.target; + const oldFilterText = input.value; + const iSep = oldFilterText.lastIndexOf(sep, oldFilterText.length - 2); + const newFilterText = oldFilterText.substring(0, iSep + 1); + if (oldFilterText !== newFilterText) { + const delta = oldFilterText.substring(iSep + 1); + let isMatch = delta[delta.length-1] === sep; + if (!isMatch) { + const options = dropdown.children; + for (let i = 0; i < options.length; i++) { + const option = options[i]; + if (option.innerText.startsWith(delta)) { + isMatch = true; + break; + } + } + } + if (isMatch) { + e.stopPropagation(); + e.preventDefault(); // prevent cursor move + input.value = newFilterText; + updateDropdown(); + //updateCallback(); + //submitCallback(); + const options = dropdown.children; + let isSelected = false; + for (let i = 0; i < options.length; i++) { + const option = options[i]; + if (option.innerText.startsWith(delta)) { + option.classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + isSelected = true; + break; + } + } + if (!isSelected) { + const options = dropdown.children; + if (options.length > 0) { + // arrow key navigation + options[0].classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); + } + } + } } } else if (e.key === "Enter") { e.stopPropagation(); - DirectoryDropdown.submitSearch( - e.target, - options[iSelection], - updateDropdown, - updateCallback, - submitCallback, - sep, - ); + const input = e.target + const selection = options[iSelection]; + if (selection !== undefined && selection !== null) { + DirectoryDropdown.selectionToInput(input, selection, sep); + updateDropdown(); + updateCallback(); + } + submitCallback(); + input.blur(); } - else if (e.key === "ArrowDown" || e.key === "ArrowUp") { + else if ((e.key === "ArrowDown" || e.key === "ArrowUp") && dropdown.style.display !== "none") { e.stopPropagation(); e.preventDefault(); // prevent cursor move let iNext = options.length; @@ -480,33 +528,19 @@ class DirectoryDropdown { }, ); } - + /** * @param {HTMLInputElement} input * @param {HTMLParagraphElement | undefined | null} selection - * @param {Function} updateDropdown - * @param {Fucntion} [updateCallback=() => {}] - * @param {Function} [submitCallback=() => {}] * @param {String} [sep="/"] */ - static submitSearch(input, selection, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, sep = "/") { - let blur = true; - if (selection !== undefined && selection !== null) { - selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); - const selectedText = selection.innerText; - blur = !selectedText.endsWith(sep); // is directory - const oldFilterText = input.value; - const iSep = oldFilterText.lastIndexOf(sep); - const previousPath = oldFilterText.substring(0, iSep + 1); - input.value = previousPath + selectedText; - - updateDropdown(); - updateCallback(); - } - if (blur) { - input.blur(); - } - submitCallback(); + static selectionToInput(input, selection, sep) { + selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); + const selectedText = selection.innerText; + const oldFilterText = input.value; + const iSep = oldFilterText.lastIndexOf(sep); + const previousPath = oldFilterText.substring(0, iSep + 1); + input.value = previousPath + selectedText; } /** @@ -634,14 +668,11 @@ class DirectoryDropdown { }; const selection_submit = (e) => { e.stopPropagation(); - DirectoryDropdown.submitSearch( - input, - e.target, - updateDropdown, - updateCallback, - submitCallback, - sep - ); + const selection = e.target; + DirectoryDropdown.selectionToInput(input, selection, sep); + updateDropdown(); + updateCallback();e.target + submitCallback(); }; const innerHtml = options.map((text) => { /** @type {HTMLParagraphElement} */ From f8624698c4494727889cadb97b1a5c0c62fda0a7 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 12 Feb 2024 21:06:53 -0500 Subject: [PATCH 44/79] Server download enhancements & debugging. --- __init__.py | 143 +++++++++++++++++++++++++++++++++--------- web/model-manager.css | 1 + web/model-manager.js | 98 ++++++++++++++++++++--------- 3 files changed, 183 insertions(+), 59 deletions(-) diff --git a/__init__.py b/__init__.py index c20bb85..1ab9c17 100644 --- a/__init__.py +++ b/__init__.py @@ -4,10 +4,12 @@ import sys import copy import hashlib import importlib +import re from aiohttp import web import server import urllib.parse +import urllib.request import struct import json import requests @@ -387,68 +389,147 @@ def_headers = { } -def download_model_file(url, filename): +def download_file(url, filename, overwrite): + if not overwrite and os.path.isfile(filename): + raise Exception("File already exists!") + + # TODO: clear any previous failed partial download file dl_filename = filename + ".download" - rh = requests.get( - url=url, stream=True, verify=False, headers=def_headers, proxies=None - ) - print("temp file is " + dl_filename) - total_size = int(rh.headers["Content-Length"]) - - basename, ext = os.path.splitext(filename) - print("Start download {}, file size: {}".format(basename, total_size)) + rh = requests.get(url=url, stream=True, verify=False, headers=def_headers, proxies=None, allow_redirects=False) + if not rh.ok: + raise Exception("Unable to download") downloaded_size = 0 - if os.path.exists(dl_filename): - downloaded_size = os.path.getsize(download_file) + if rh.status_code == 200 and os.path.exists(dl_filename): + downloaded_size = os.path.getsize(dl_filename) headers = {"Range": "bytes=%d-" % downloaded_size} headers["User-Agent"] = def_headers["User-Agent"] - r = requests.get(url=url, stream=True, verify=False, headers=headers, proxies=None) + r = requests.get(url=url, stream=True, verify=False, headers=headers, proxies=None, allow_redirects=False) + if rh.status_code == 307 and r.status_code == 307: + # Civitai redirect + redirect_url = r.content.decode("utf-8") + if not redirect_url.startswith("http"): + # Civitai requires login (NSFW or user-required) + # TODO: inform user WHY download failed + raise Exception("Unable to download!") + download_file(redirect_url, filename, overwrite) + return + if rh.status_code == 302 and r.status_code == 302: + # HuggingFace redirect + redirect_url = r.content.decode("utf-8") + redirect_url_index = redirect_url.find("http") + if redirect_url_index == -1: + raise Exception("Unable to download!") + download_file(redirect_url[redirect_url_index:], filename, overwrite) + return + elif rh.status_code == 200 and r.status_code == 206: + # Civitai download link + pass - with open(dl_filename, "ab") as f: + print("temp file is " + dl_filename) + total_size = int(rh.headers.get("Content-Length", 0)) # TODO: pass in total size earlier + + basename, ext = os.path.splitext(filename) + print("Start download " + basename) + if total_size != 0: + print("Download file size: " + str(total_size)) + + mode = "wb" if overwrite else "ab" + with open(dl_filename, mode) as f: for chunk in r.iter_content(chunk_size=1024): if chunk is not None: downloaded_size += len(chunk) f.write(chunk) f.flush() - progress = int(50 * downloaded_size / total_size) - sys.stdout.reconfigure(encoding="utf-8") - sys.stdout.write( - "\r[%s%s] %d%%" - % ( - "-" * progress, - " " * (50 - progress), - 100 * downloaded_size / total_size, + if total_size != 0: + fraction = 1 if downloaded_size == total_size else downloaded_size / total_size + progress = int(50 * fraction) + sys.stdout.reconfigure(encoding="utf-8") + sys.stdout.write( + "\r[%s%s] %d%%" + % ( + "-" * progress, + " " * (50 - progress), + 100 * fraction, + ) ) - ) - sys.stdout.flush() + sys.stdout.flush() print() + if overwrite and os.path.isfile(filename): + os.remove(filename) os.rename(dl_filename, filename) @server.PromptServer.instance.routes.post("/model-manager/download") -async def download_file(request): +async def download_model(request): body = await request.json() + json.dump(body, sys.stdout, indent=4) + + overwrite = body.get("overwrite", False) + model_type = body.get("type") - model_type_path = model_type_to_dir_name(model_type) - if model_type_path is None: + model_path_type = model_type_to_dir_name(model_type) + if model_path_type is None or model_path_type == "": return web.json_response({"success": False}) + model_path = body.get("path", "/0") + model_path = model_path.replace("/", os.path.sep) + regex_result = re.search(r'\d+', model_path) + if regex_result is None: + return web.json_response({"success": False}) + model_path_index = int(regex_result.group()) + paths = folder_paths_get_folder_paths(model_path_type) + if model_path_index < 0 or model_path_index >= len(paths): + return web.json_response({"success": False}) + model_path_span = regex_result.span() + directory = os.path.join( + comfyui_model_uri, + ( + paths[model_path_index] + + model_path[model_path_span[1]:] + ) + ) download_uri = body.get("download") if download_uri is None: return web.json_response({"success": False}) - model_name = body.get("name") - file_name = os.path.join(comfyui_model_uri, model_type_path, model_name) - download_model_file(download_uri, file_name) - print("File download completed!") - return web.json_response({"success": True}) + name = body.get("name") + model_extension = None + for ext in folder_paths_get_supported_pt_extensions(model_type): + if name.endswith(ext): + model_extension = ext + break + if model_extension is None: + return web.json_response({"success": False}) + file_name = os.path.join(directory, name) + try: + download_file(download_uri, file_name, overwrite) + except: + return web.json_response({"success": False}) + image_uri = body.get("image") + if image_uri is not None and image_uri != "": + image_extension = None + for ext in image_extensions: + if image_uri.endswith(ext): + image_extension = ext + break + if image_extension is not None: + image_name = os.path.join( + directory, + (name[:len(name) - len(model_extension)]) + image_extension + ) + try: + download_file(image_uri, image_name, overwrite) + except Exception as e: + print(e, file=sys.stderr, flush=True) + + return web.json_response({"success": True}) WEB_DIRECTORY = "web" NODE_CLASS_MAPPINGS = {} diff --git a/web/model-manager.css b/web/model-manager.css index 180630c..a01a1dd 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -359,6 +359,7 @@ max-height: 30vh; overflow: auto; border-radius: 10px; + z-index: 1; } .search-dropdown:empty { diff --git a/web/model-manager.js b/web/model-manager.js index cafadc3..34b8003 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -55,6 +55,9 @@ const MODEL_SORT_DATE_CREATED = "dateCreated"; const MODEL_SORT_DATE_MODIFIED = "dateModified"; const MODEL_SORT_DATE_NAME = "name"; +const MODEL_EXTENSIONS = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"]; // TODO: ask server for? +const IMAGE_EXTENSIONS = [".png", ".webp", ".gif"]; // TODO: ask server for? + /** * Tries to return the related ComfyUI model directory if unambigious. * @@ -194,8 +197,11 @@ async function civitai_getFilteredInfo(stringUrl) { } } else if (urlPath.startsWith('/models')) { - const idStart = urlPath.indexOf("/", 1) + 1; - const idEnd = urlPath.indexOf("/", idStart); + const idStart = urlPath.indexOf("models/") + "models/".length; + const idEnd = (() => { + const idEnd = urlPath.indexOf("/", idStart); + return idEnd === -1 ? urlPath.length : idEnd; + })(); const modelId = urlPath.substring(idStart, idEnd); if (parseInt(modelId, 10) == NaN) { return {}; @@ -209,7 +215,9 @@ async function civitai_getFilteredInfo(stringUrl) { const modelVersionInfos = modelInfo["modelVersions"]; for (let i = 0; i < modelVersionInfos.length; i++) { const versionInfo = modelVersionInfos[i]; - if (modelVersionId instanceof String && modelVersionId != versionInfo["id"]) { continue; } + if (!Number.isNaN(modelVersionId)) { + if (modelVersionId != versionInfo["id"]) {continue; } + } const filesInfo = civitai_getModelFilesInfo(versionInfo); modelVersions.push(filesInfo); } @@ -303,12 +311,11 @@ async function huggingFace_getFilteredInfo(stringUrl) { //const modelInfo = await requestInfo(modelId + branch); // this only gives you the files at the given branch path... // oid: SHA-1?, lfs.oid: SHA-256 - const validModelExtensions = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"]; // TODO: ask server for? const clippedFilePath = filePath.substring(filePath[0] === "/" ? 1 : 0); const modelFiles = modelInfo["siblings"].filter((sib) => { const filename = sib["rfilename"]; - for (let i = 0; i < validModelExtensions.length; i++) { - if (filename.endsWith(validModelExtensions[i])) { + for (let i = 0; i < MODEL_EXTENSIONS.length; i++) { + if (filename.endsWith(MODEL_EXTENSIONS[i])) { return filename.startsWith(clippedFilePath); } } @@ -321,11 +328,10 @@ async function huggingFace_getFilteredInfo(stringUrl) { return {}; } - const validImageExtensions = [".png", ".webp", ".gif"]; // TODO: ask server for? const imageFiles = modelInfo["siblings"].filter((sib) => { const filename = sib["rfilename"]; - for (let i = 0; i < validImageExtensions.length; i++) { - if (filename.endsWith(validImageExtensions[i])) { + for (let i = 0; i < IMAGE_EXTENSIONS.length; i++) { + if (filename.endsWith(IMAGE_EXTENSIONS[i])) { return filename.startsWith(filePath); } } @@ -335,7 +341,7 @@ async function huggingFace_getFilteredInfo(stringUrl) { return filename; }); - const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch; + const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch.replace("/tree", ""); return { "baseDownloadUrl": baseDownloadUrl, "modelFiles": modelFiles, @@ -353,6 +359,9 @@ async function huggingFace_getFilteredInfo(stringUrl) { class DirectoryDropdown { /** @type {HTMLDivElement} */ element = undefined; + + /** @type {Boolean} */ + showDirectoriesOnly = false; /** @type {HTMLInputElement} */ #input = undefined; @@ -373,8 +382,9 @@ class DirectoryDropdown { * @param {Function} [updateCallback= () => {}] * @param {Function} [submitCallback= () => {}] * @param {String} [sep="/"] + * @param {Boolean} [showDirectoriesOnly=false] */ - constructor(input, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, sep = "/") { + constructor(input, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, sep = "/", showDirectoriesOnly = false) { /** @type {HTMLDivElement} */ const dropdown = $el("div.search-dropdown", { // TODO: change to `search-directory-dropdown` style: { @@ -386,6 +396,7 @@ class DirectoryDropdown { this.#updateDropdown = updateDropdown; this.#updateCallback = updateCallback; this.#submitCallback = submitCallback; + this.showDirectoriesOnly = showDirectoriesOnly; input.addEventListener("input", () => updateDropdown()); input.addEventListener("focus", () => updateDropdown()); @@ -554,6 +565,7 @@ class DirectoryDropdown { const updateDropdown = this.#updateDropdown; const updateCallback = this.#updateCallback; const submitCallback = this.#submitCallback; + const showDirectoriesOnly = this.showDirectoriesOnly; const filter = input.value; if (filter[0] !== sep) { @@ -631,12 +643,12 @@ class DirectoryDropdown { const grandChildCount = child["childCount"]; const isDir = grandChildCount !== undefined && grandChildCount !== null && grandChildCount > 0; const itemName = child["name"]; - if (itemName.startsWith(lastWord)) { + if (itemName.startsWith(lastWord) && (!showDirectoriesOnly || (showDirectoriesOnly && isDir))) { options.push(itemName + (isDir ? "/" : "")); } } } - else { + else if (!showDirectoriesOnly) { const filename = item["name"]; if (filename.startsWith(lastWord)) { options.push(filename); @@ -1597,6 +1609,7 @@ class ModelManager extends ComfyDialog { this.#modelTab_updatePreviousModelFilter, this.#modelTab_updateModelGrid, this.#sep, + false, ); this.#modelContentFilterDirectoryDropdown = searchDropdown; @@ -1949,10 +1962,6 @@ class ModelManager extends ComfyDialog { filename: null, }; - const datas = { - cachedUrl: "", - }; - $el("input", { $: (el) => (els.saveDirectoryPath = el), type: "text", @@ -1985,6 +1994,7 @@ class ModelManager extends ComfyDialog { () => {}, () => {}, sep, + true, ); const filepath = info["downloadFilePath"]; @@ -1993,12 +2003,24 @@ class ModelManager extends ComfyDialog { $el("div", [ $el("div", [ $el("button", { - onclick: (e) => { - const url = datas.cachedUrl; - const modelType = els.modelTypeSelect.value; // TODO: cannot be empty string or invalid selection - const path = els.saveDirectoryPath.value; // TODO: server: root must be valid - const filename = els.filename.value; // note: does not include file extension - const imgUrl = (() => { + onclick: async (e) => { + const record = {}; + record["download"] = info["downloadUrl"]; + record["type"] = els.modelTypeSelect.value; + if (record["type"] === "") { return; } // TODO: notify user in app + record["path"] = els.saveDirectoryPath.value; + record["name"] = (() => { + const filename = info["fileName"]; + const name = els.filename.value; + if (name === "") { + return filename; + } + const ext = MODEL_EXTENSIONS.find((ext) => { + return filename.endsWith(ext); + }) ?? ""; + return name + ext; + })(); + record["image"] = (() => { const value = document.querySelector(`input[name="${RADIO_MODEL_PREVIEW_GROUP_NAME}"]:checked`).value; switch (value) { case RADIO_MODEL_PREVIEW_DEFAULT: @@ -2015,9 +2037,24 @@ class ModelManager extends ComfyDialog { } return ""; })(); - // TODO: lock downloading - // TODO: send download info to server - // TODO: unlock downloading + record["overwrite"] = true; // TODO: add to UI + e.disabled = true; + await request( + "/model-manager/download", + { + method: "POST", + body: JSON.stringify(record), + } + ).then(data => { + if (data["success"] !== true) { + // TODO: notify user in app + console.error('Failed to download model:', data); + } + }).catch(err => { + // TODO: notify user in app + console.error('Failed to download model:', err); + }); + e.disabled = false; }, }, ["Download"]), els.modelTypeSelect, @@ -2198,7 +2235,7 @@ class ModelManager extends ComfyDialog { "images": [], // TODO: ambiguous? "fileName": filename, "modelType": "", - "downloadUrl": baseDownloadUrl + "/" + file, + "downloadUrl": baseDownloadUrl + "/" + file + "?download=true", "downloadFilePath": file.substring(0, indexSep + 1), "details": { "fileSizeKB": undefined, // TODO: too hard? @@ -2214,7 +2251,12 @@ class ModelManager extends ComfyDialog { })(); const modelTypes = Object.keys(this.#data.models); - const modelInfosHtml = modelInfos.map((modelInfo) => { + const modelInfosHtml = modelInfos.filter((modelInfo) => { + const filename = modelInfo["fileName"]; + return MODEL_EXTENSIONS.find((ext) => { + return filename.endsWith(ext); + }) ?? false; + }).map((modelInfo) => { return this.#downloadTab_modelInfo( modelInfo, modelTypes, From 529115b0a414e1e4523f7eec98e5f370243ab585 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 12 Feb 2024 21:46:03 -0500 Subject: [PATCH 45/79] Set API keys for Civitai & HuggingFace in `server_settings.yaml`. --- .gitignore | 1 + README.md | 5 ++--- __init__.py | 34 ++++++++++++++++++++++------------ web/model-manager.js | 1 + 4 files changed, 26 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index c91d84d..32b09a4 100644 --- a/.gitignore +++ b/.gitignore @@ -159,3 +159,4 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ ui_settings.yaml +server_settings.yaml diff --git a/README.md b/README.md index 50830af..6e180b0 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,8 @@ Currently it is still missing some features it should have. - Increased supported preview image types. - Correctly change colors using ComfyUI's theme colors. - Simplified UI. -- Settings tab and config file. +- Civitai and HuggingFace API token configurable in `server_settings.yaml`. +- Settings tab saved in `ui_settings.yaml`. - Hide/Show 'add' and 'copy-to-clipboard' buttons. - Text to always search. - Show/Hide add embedding extension. @@ -65,8 +66,6 @@ Currently it is still missing some features it should have. - ☐ Check search code is optimized to avoid recalculation on every minor input change - ☐ Directory dropdown - ☐ Use always filter to filter directory content auto-suggest dropdown - - ☐ Generalize model list filtering code to reuse approach - - ☐ Generalize search dropdown for download location selection - ☐ Filters dropdown - ☐ Stable Diffusion model version/Clip/Upscale/? - ☐ Favorites diff --git a/__init__.py b/__init__.py index 1ab9c17..6c36e61 100644 --- a/__init__.py +++ b/__init__.py @@ -28,6 +28,7 @@ index_uri = os.path.join(extension_uri, "index.json") #checksum_cache_uri = os.path.join(extension_uri, "checksum_cache.txt") no_preview_image = os.path.join(extension_uri, "no-preview.png") ui_settings_uri = os.path.join(extension_uri, "ui_settings.yaml") +server_settings_uri = os.path.join(extension_uri, "server_settings.yaml") fallback_model_extensions = set([".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safetensors"]) # TODO: magic values image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") @@ -122,13 +123,15 @@ def ui_rules(): ] -#def server_rules(): -# Rule = config_loader.Rule -# return [ -# Rule("model_extension_download_whitelist", [".safetensors"], list), -# Rule("civitai_api_key", "", str), -# ] - +def server_rules(): + Rule = config_loader.Rule + return [ + #Rule("model_extension_download_whitelist", [".safetensors"], list), + Rule("civitai_api_key", "", str), + Rule("huggingface_api_key", "", str), + ] +server_settings = config_loader.yaml_load(server_settings_uri, server_rules()) +config_loader.yaml_save(server_settings_uri, server_rules(), server_settings) @server.PromptServer.instance.routes.get("/model-manager/settings/load") async def load_ui_settings(request): @@ -384,11 +387,6 @@ async def directory_list(request): return web.json_response(dir_list) -def_headers = { - "User-Agent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" -} - - def download_file(url, filename, overwrite): if not overwrite and os.path.isfile(filename): raise Exception("File already exists!") @@ -396,6 +394,18 @@ def download_file(url, filename, overwrite): # TODO: clear any previous failed partial download file dl_filename = filename + ".download" + def_headers = { + "User-Agent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", + } + if url.startswith("https://civitai.com/"): + api_key = server_settings["civitai_api_key"] + if (api_key != ""): + def_headers["Authorization"] = f"Bearer {api_key}" + elif url.startswith("https://huggingface.co/"): + api_key = server_settings["huggingface_api_key"] + if api_key != "": + def_headers["Authorization"] = f"Bearer {api_key}" + rh = requests.get(url=url, stream=True, verify=False, headers=def_headers, proxies=None, allow_redirects=False) if not rh.ok: raise Exception("Unable to download") diff --git a/web/model-manager.js b/web/model-manager.js index 34b8003..8b8a553 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -2009,6 +2009,7 @@ class ModelManager extends ComfyDialog { record["type"] = els.modelTypeSelect.value; if (record["type"] === "") { return; } // TODO: notify user in app record["path"] = els.saveDirectoryPath.value; + if (record["path"] === "/") { return; } // TODO: notify user in app record["name"] = (() => { const filename = info["fileName"]; const name = els.filename.value; From d6b197d9c7dca217bf7ce042c041c7b41099c859 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 00:48:09 -0500 Subject: [PATCH 46/79] Remade download tab. --- README.md | 26 +-- web/model-manager.css | 47 +++++- web/model-manager.js | 370 +++++++++++++++++++++++------------------- 3 files changed, 262 insertions(+), 181 deletions(-) diff --git a/README.md b/README.md index 6e180b0..977b30a 100644 --- a/README.md +++ b/README.md @@ -12,22 +12,34 @@ Currently it is still missing some features it should have. ## Fork Improvements +### Download Tab + +- Remade download tab. + - View multiple models connected to url. + - Download preview images. +- Civitai and HuggingFace API token configurable in `server_settings.yaml`. + +### Models Tab + - Search bar in models tab. - Advanced keyword search using `"multiple words in quotes"` or a minus sign to `-exclude`. - Search `/`subdirectories of model directories based on your file structure (for example, `/0/1.5/styles/clothing`). - Add `/` at the start of the search bar to see auto-complete suggestions. - Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. - Sort for models (Date Created, Date Modified, Name). + +### ComfyUI Node Graph + - Button to copy a model to the ComfyUI clipboard or embedding to system clipboard. (Embedding copying requires secure http connection.) - Button to add model to ComfyUI graph or embedding to selected nodes. (For small screens/low resolution.) - Right, left, top and bottom toggleable sidebar modes. - Drag a model onto the graph to add a new node. - Drag a model onto an existing node to set the model field. - Drag an embedding onto a text area to add it to the end. -- Increased supported preview image types. + +### Settings Tab + - Correctly change colors using ComfyUI's theme colors. -- Simplified UI. -- Civitai and HuggingFace API token configurable in `server_settings.yaml`. - Settings tab saved in `ui_settings.yaml`. - Hide/Show 'add' and 'copy-to-clipboard' buttons. - Text to always search. @@ -89,11 +101,3 @@ Currently it is still missing some features it should have. ### Sidebar - ☐ Drag sidebar width/height dynamically. - -### Directory Browser and Downloading tab - -(NOTE: It is a impossible to put a model automatically in the correct folder if model type information is not given or ambigious. To fully solve this requires making a file browser where files can be moved around.) - -- ☐ Replace Install tab with Downloading tab (more practical IMO). -- ☐ Download a model from a url. -- ☐ Choose save path/directory to download within vaild model directories. (Alert Yes/No if need to create new dirs?) diff --git a/web/model-manager.css b/web/model-manager.css index a01a1dd..f5829b7 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -55,7 +55,7 @@ gap: 16px; } -.comfy-grid .item { +.model-manager .item { position: relative; width: 230px; height: 345px; @@ -64,12 +64,29 @@ border-radius: 8px; } -.comfy-grid .item img { +.model-manager .item img { width: 100%; height: 100%; object-fit: cover; } +.model-manager .model-preview-button-left, +.model-manager .model-preview-button-right { + position: absolute; + top: 0; + bottom: 0; + margin: auto; + border-radius: 20px; +} + +.model-manager .model-preview-button-right { + right: 4px; +} + +.model-manager .model-preview-button-left { + left: 4px; +} + .comfy-grid .model-label { background-color: #000a; width: 100%; @@ -99,7 +116,7 @@ height: 0; } -.comfy-grid .item .model-preview-overlay { +.model-manager .item .model-preview-overlay { position: absolute; top: 0; left: 0; @@ -306,13 +323,18 @@ } .model-manager .row { - position: sticky; + position: relative; padding-top: 2px; margin-top: -2px; padding-bottom: 18px; margin-bottom: 1px; top: -1px; background-color: var(--comfy-input-bg); +} + +.model-manager [data-name="Install"] .row, +.model-manager [data-name="Models"] .row { + position: sticky; z-index: 1; } @@ -347,9 +369,15 @@ } .model-manager .search-text-area, -.model-manager .source-text-area, +.model-manager .plain-text-area, .model-manager .model-select-dropdown { flex: 1; + min-height: 36px; + padding-block: 0; +} + +.model-manager .model-select-dropdown { + min-height: 40px; } .model-manager .search-dropdown { @@ -424,3 +452,12 @@ border-radius: 8px; object-fit: cover; } + +.model-manager [data-name="Download"] summary { + padding: 16px; +} + +.model-manager .download-details { + border-radius: 16px; + padding: 0px 16px 0px 16px; +} \ No newline at end of file diff --git a/web/model-manager.js b/web/model-manager.js index 8b8a553..b42261e 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1439,10 +1439,10 @@ class ModelManager extends ComfyDialog { ] ), $tabs([ - $tab("Install", this.#createSourceInstall()), + $tab("Download", [this.#downloadTab_new()]), + //$tab("Install", this.#createSourceInstall()), $tab("Models", this.#modelTab_new()), $tab("Settings", [this.#settingsTab_new()]), - //$tab("Download2", [this.#downloadTab_new()]), ]), ]), ] @@ -1453,7 +1453,7 @@ class ModelManager extends ComfyDialog { #init() { this.#settingsTab_reload(false); - this.#refreshSourceList(); + //this.#refreshSourceList(); this.#modelTab_updateModels(); } @@ -1471,7 +1471,7 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.loadSourceBtn = el), onclick: () => this.#refreshSourceList(), }), - $el("input.source-text-area", { + $el("input.plain-text-area", { $: (el) => (this.#el.loadSourceFromInput = el), placeholder: "https://ComfyUI-Model-Manager/index.json", }), @@ -1718,7 +1718,7 @@ class ModelManager extends ComfyDialog { if (reloadData) { // Is this slow? - this.#refreshSourceList(); + //this.#refreshSourceList(); this.#modelTab_updateModels(); } } @@ -1940,11 +1940,11 @@ class ModelManager extends ComfyDialog { * @param {String[]} modelTypes * @param {DirectoryItem[]} modelDirectories * @param {String} sep + * @param {int} id * @returns {HTMLDivElement} */ - #downloadTab_modelInfo(info, modelTypes, modelDirectories, sep) { + #downloadTab_modelInfo(info, modelTypes, modelDirectories, sep, id) { // TODO: use passed in info - const RADIO_MODEL_PREVIEW_GROUP_NAME = "model-download-info-preview-model"; const RADIO_MODEL_PREVIEW_DEFAULT = "Default Preview"; const RADIO_MODEL_PREVIEW_CUSTOM = "Custom Preview Url"; @@ -1962,14 +1962,14 @@ class ModelManager extends ComfyDialog { filename: null, }; - $el("input", { + $el("input.search-text-area", { $: (el) => (els.saveDirectoryPath = el), type: "text", placeholder: "/0", value: "/0", }); - $el("select", { + $el("select.model-select-dropdown", { $: (el) => (els.modelTypeSelect = el), }, (() => { const options = [$el("option", { value: "" }, ["-- Model Type --"])]; @@ -1997,172 +1997,208 @@ class ModelManager extends ComfyDialog { true, ); + const radioGroupName = "model-download-info-preview-model" + "-" + id; + const radioGroup = $radioGroup({ + name: radioGroupName, + onchange: (value) => { + switch (value) { + case RADIO_MODEL_PREVIEW_DEFAULT: + const bottonStyleDisplay = els.previewImgs.children.length > 1 ? "block" : "none"; + els.buttonLeft.style.display = bottonStyleDisplay; + els.buttonRight.style.display = bottonStyleDisplay; + els.modelPreviewContainer.style.display = "block"; + els.customPreviewContainer.style.display = "none"; + break; + case RADIO_MODEL_PREVIEW_CUSTOM: + els.modelPreviewContainer.style.display = "none"; + els.customPreviewContainer.style.display = "flex"; + break; + default: + els.modelPreviewContainer.style.display = "none"; + els.customPreviewContainer.style.display = "none"; + break; + } + }, + options: (() => { + const radios = []; + radios.push({ value: "No Preview" }); + if (info["images"].length > 0) { + radios.push({ value: RADIO_MODEL_PREVIEW_DEFAULT }); + } + radios.push({ value: RADIO_MODEL_PREVIEW_CUSTOM }); + return radios; + })(), + }); + const filepath = info["downloadFilePath"]; - const modelInfo = $el("details", [ + const modelInfo = $el("details.download-details", [ $el("summary", [filepath + info["fileName"]]), - $el("div", [ - $el("div", [ - $el("button", { - onclick: async (e) => { - const record = {}; - record["download"] = info["downloadUrl"]; - record["type"] = els.modelTypeSelect.value; - if (record["type"] === "") { return; } // TODO: notify user in app - record["path"] = els.saveDirectoryPath.value; - if (record["path"] === "/") { return; } // TODO: notify user in app - record["name"] = (() => { - const filename = info["fileName"]; - const name = els.filename.value; - if (name === "") { - return filename; - } - const ext = MODEL_EXTENSIONS.find((ext) => { - return filename.endsWith(ext); - }) ?? ""; - return name + ext; - })(); - record["image"] = (() => { - const value = document.querySelector(`input[name="${RADIO_MODEL_PREVIEW_GROUP_NAME}"]:checked`).value; - switch (value) { - case RADIO_MODEL_PREVIEW_DEFAULT: - const children = els.previewImgs.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - if (child.style.display !== "none") { - return child.src; - } - } - return ""; - case RADIO_MODEL_PREVIEW_CUSTOM: - return els.customPreviewUrl.value; - } - return ""; - })(); - record["overwrite"] = true; // TODO: add to UI - e.disabled = true; - await request( - "/model-manager/download", - { - method: "POST", - body: JSON.stringify(record), - } - ).then(data => { - if (data["success"] !== true) { - // TODO: notify user in app - console.error('Failed to download model:', data); - } - }).catch(err => { - // TODO: notify user in app - console.error('Failed to download model:', err); + $el("div", { + style: { display: "flex", gap: "16px" }, + }, [ + $el("div.item", { + $: (el) => (els.modelPreviewContainer = el), + style: { display: "none" }, + }, [ + $el("div", { + $: (el) => (els.previewImgs = el), + }, (() => { + const imgs = info["images"].map((url) => { + return $el("img", { + src: url, + style: { display: "none" }, + loading: "lazy", }); - e.disabled = false; - }, - }, ["Download"]), - els.modelTypeSelect, - $el("div", [ - els.saveDirectoryPath, - searchDropdown.element, + }); + if (imgs.length > 0) { + imgs[0].style.display = "block"; + } + return imgs; + })()), + $el("div.model-preview-overlay", [ + $el("button.icon-button.model-preview-button-left", { + $: (el) => (els.buttonLeft = el), + onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, -1), + textContent: "←", + }), + $el("button.icon-button.model-preview-button-right", { + $: (el) => (els.buttonRight = el), + onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, 1), + textContent: "→", + }), ]), - $el("input", { - $: (el) => (els.filename = el), - type: "text", - placeholder: (() => { - const filename = info["fileName"]; - // TODO: only remove valid model file extensions - const i = filename.lastIndexOf("."); - return i === - 1 ? filename : filename.substring(0, i); - })(), - }), ]), - /* - $el("div", (() => { - return Object.entries(info["details"]).filter(([, value]) => { - return value !== undefined && value !== null; - }).map(([key, value]) => { - const el = document.createElement("p"); - el.innerText = key + ": " + value; - return el; - }); - })()), - */ - $el("div.model-preview-select-radio-container", [ - $radioGroup({ - name: RADIO_MODEL_PREVIEW_GROUP_NAME, - onchange: (value) => { - switch (value) { - case RADIO_MODEL_PREVIEW_DEFAULT: - const bottonStyleDisplay = els.previewImgs.children.length > 1 ? "block" : "none"; - els.buttonLeft.style.display = bottonStyleDisplay; - els.buttonRight.style.display = bottonStyleDisplay; - els.modelPreviewContainer.style.display = "block"; - els.customPreviewContainer.style.display = "none"; - break; - case RADIO_MODEL_PREVIEW_CUSTOM: - els.modelPreviewContainer.style.display = "none"; - els.customPreviewContainer.style.display = "block"; - break; - default: - els.modelPreviewContainer.style.display = "none"; - els.customPreviewContainer.style.display = "none"; - break; - } - }, - options: (() => { - const radios = []; - radios.push({ value: "No Preview" }); - if (info["images"].length > 0) { - radios.push({ value: RADIO_MODEL_PREVIEW_DEFAULT }); - } - radios.push({ value: RADIO_MODEL_PREVIEW_CUSTOM }); - return radios; - })(), - }), - $el("div", [ - $el("div", { - $: (el) => (els.modelPreviewContainer = el), - style: { display: "none" }, - }, [ - $el("div", { - $: (el) => (els.previewImgs = el), - }, (() => { - const imgs = info["images"].map((url) => { - return $el("img", { - src: url, - style: { display: "none" }, - loading: "lazy", - }); - }); - if (imgs.length > 0) { - imgs[0].style.display = "block"; - } - return imgs; - })()), + $el("div", [ + $el("div", { + style: { "margin-top": "8px" } + }, [ + $el("div.model-preview-select-radio-container", [ + $el("div.row.tab-header-flex-block", [radioGroup]), $el("div", [ - $el("button", { - $: (el) => (els.buttonLeft = el), - onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, -1), - }, ["LEFT"]), - $el("button", { - $: (el) => (els.buttonRight = el), - onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, 1), - }, ["RIGHT"]), + $el("div.row.tab-header-flex-block", { + $: (el) => (els.customPreviewContainer = el), + style: { display: "none" }, + }, [ + $el("input.search-text-area", { + $: (el) => (els.customPreviewUrl = el), + type: "text", + placeholder: "https://custom-image-preview.png" + }), + ]), ]), ]), - $el("div", { - $: (el) => (els.customPreviewContainer = el), - style: { display: "none" }, - }, [ - $el("input.search-text-area", { - $: (el) => (els.customPreviewUrl = el), + $el("div.row.tab-header-flex-block", [ + els.modelTypeSelect, + ]), + $el("div.row.tab-header-flex-block", [ + els.saveDirectoryPath, + searchDropdown.element, + ]), + $el("div.row.tab-header-flex-block", [ + $el("button.icon-button", { + textContent: "📥︎", + onclick: async (e) => { + const record = {}; + record["download"] = info["downloadUrl"]; + record["type"] = els.modelTypeSelect.value; + if (record["type"] === "") { return; } // TODO: notify user in app + record["path"] = els.saveDirectoryPath.value; + if (record["path"] === "/") { return; } // TODO: notify user in app + record["name"] = (() => { + const filename = info["fileName"]; + const name = els.filename.value; + if (name === "") { + return filename; + } + const ext = MODEL_EXTENSIONS.find((ext) => { + return filename.endsWith(ext); + }) ?? ""; + return name + ext; + })(); + record["image"] = (() => { + const value = document.querySelector(`input[name="${radioGroupName}"]:checked`).value; + switch (value) { + case RADIO_MODEL_PREVIEW_DEFAULT: + const children = els.previewImgs.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.style.display !== "none") { + return child.src; + } + } + return ""; + case RADIO_MODEL_PREVIEW_CUSTOM: + return els.customPreviewUrl.value; + } + return ""; + })(); + record["overwrite"] = false; // TODO: add to UI + e.target.disabled = true; + let success = true; + let resultText = "✔"; + await request( + "/model-manager/download", + { + method: "POST", + body: JSON.stringify(record), + } + ).then(data => { + if (data["success"] !== true) { + // TODO: notify user in app + console.error('Failed to download model:', data); + success = false; + resultText = "📥︎"; + } + }).catch(err => { + // TODO: notify user in app + console.error('Failed to download model:', err); + success = false; + resultText = "📥︎"; + }); + buttonAlert(e.target, success, "✔", "✖", resultText); + e.target.disabled = success; + }, + }), + $el("input.plain-text-area", { + $: (el) => (els.filename = el), type: "text", - placeholder: "(preview image url)" + placeholder: (() => { + const filename = info["fileName"]; + // TODO: only remove valid model file extensions + const i = filename.lastIndexOf("."); + return i === - 1 ? filename : filename.substring(0, i); + })(), }), ]), ]), + /* + $el("div", (() => { + return Object.entries(info["details"]).filter(([, value]) => { + return value !== undefined && value !== null; + }).map(([key, value]) => { + const el = document.createElement("p"); + el.innerText = key + ": " + value; + return el; + }); + })()), + */ ]), ]), ]); + if (info["images"].length > 0) { + const children = radioGroup.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === RADIO_MODEL_PREVIEW_DEFAULT) { + els.modelPreviewContainer.style.display = "block"; + radioButton.checked = true; + break; + } + }; + } + const modelTypeSelect = els.modelTypeSelect; modelTypeSelect.selectedIndex = 0; // reset const comfyUIModelType = ( @@ -2257,12 +2293,13 @@ class ModelManager extends ComfyDialog { return MODEL_EXTENSIONS.find((ext) => { return filename.endsWith(ext); }) ?? false; - }).map((modelInfo) => { + }).map((modelInfo, id) => { return this.#downloadTab_modelInfo( modelInfo, modelTypes, this.#data.modelDirectories, this.#sep, + id, ); }); if (modelInfos.length === 0) { @@ -2279,11 +2316,11 @@ class ModelManager extends ComfyDialog { */ #downloadTab_new() { return $el("div", [ - $el("div", [ + $el("div.row.tab-header-flex-block", [ $el("input.search-text-area", { $: (el) => (this.#el.modelInfoUrl = el), type: "text", - placeholder: "Civitai or HuggingFace model", + placeholder: "example: https://civitai.com/models/207992/stable-video-diffusion-svd", onkeydown: (e) => { if (e.key === "Enter") { e.stopPropagation(); @@ -2291,13 +2328,16 @@ class ModelManager extends ComfyDialog { } }, }), - $el("button", { + $el("button.icon-button", { onclick: () => this.#downloadTab_search(), - }, ["Search"]), + textContent: "🔍︎", + }), ]), $el("div", { $: (el) => (this.#el.modelInfos = el), - }), + }, [ + $el("div", ["Input a URL to view download settings."]), + ]), ]); } } From 1fcda7bc1766dbe4bbf37f196e87aceaf07154ae Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 01:06:17 -0500 Subject: [PATCH 47/79] Removed SourceList for old Install tab and fix for narrow screens. --- web/model-manager.css | 6 +- web/model-manager.js | 278 +----------------------------------------- 2 files changed, 6 insertions(+), 278 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index f5829b7..0b7007a 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -298,6 +298,7 @@ .model-manager .comfy-tabs-body > div { position: relative; height: 100%; + width: 90%; padding: 0 16px; overflow-x: auto; } @@ -456,8 +457,3 @@ .model-manager [data-name="Download"] summary { padding: 16px; } - -.model-manager .download-details { - border-radius: 16px; - padding: 0px 16px 0px 16px; -} \ No newline at end of file diff --git a/web/model-manager.js b/web/model-manager.js index b42261e..9da6734 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -857,136 +857,6 @@ function $tab(name, el) { return $el("div", { dataset: { name } }, el); } -class SourceList { - /** - * @typedef Column - * @prop {string} title - * @prop {string} dataIndex - * @prop {number} width - * @prop {string} align - * @prop {Function} render - */ - - /** @type {Column[]} */ - #columns = []; - - /** @type {Record[]} */ - #dataSource = []; - - /** @type {HTMLDivElement} */ - #tbody = null; - - /** - * @param {Column[]} columns - */ - constructor(columns) { - this.#columns = columns; - - const colgroup = $el( - "colgroup", - columns.map((item) => { - return $el("col", { - style: { width: `${item.width}px` }, - }); - }) - ); - - const listTitle = $el( - "tr", - columns.map((item) => { - return $el("th", [item.title ?? ""]); - }) - ); - - this.element = $el("table.comfy-table", [ - colgroup.cloneNode(true), - $el("thead.table-head", [listTitle]), - $el("tbody.table-body", { $: (el) => (this.#tbody = el) }), - ]); - } - - /** - * @param {Array} dataSource - */ - setData(dataSource) { - this.#dataSource = dataSource; - this.#updateList(); - } - - /** - * @returns {Array} - */ - getData() { - return this.#dataSource; - } - - #updateList() { - this.#tbody.innerHTML = null; - this.#tbody.append.apply( - this.#tbody, - this.#dataSource.map((row, index) => { - const cells = this.#columns.map((item) => { - const dataIndex = item.dataIndex; - const cellValue = row[dataIndex] ?? ""; - const content = item.render - ? item.render(cellValue, row, index) - : cellValue ?? "-"; - - const style = { textAlign: item.align }; - return $el("td", { style }, [content]); - }); - return $el("tr", cells); - }) - ); - } - - /** - * @param {Array} list - * @param {string} searchString - * @param {string} installedType - */ - filterList(list, searchString, installedType) { - /** @type {string[]} */ - const keywords = searchString - .replace("*", " ") - .split(/(-?".*?"|[^\s"]+)+/g) - .map((item) => item - .trim() - .replace(/(?:'|")+/g, "") - .toLowerCase()) - .filter(Boolean); - - // TODO: handle /directory keywords seperately/differently - - let fields = ["type", "name", "base", "description"]; - const regexSHA256 = /^[a-f0-9]{64}$/gi; - const newList = list.filter((element) => { - if (installedType !== "Filter: All") { - if ((installedType === "Downloaded" && !element["installed"]) || - (installedType === "Not Downloaded" && element["installed"])) { - return false; - } - } - const text = fields - .reduce((memo, field) => memo + " " + element[field], "") - .toLowerCase(); - return keywords.reduce((memo, target) => { - const excludeTarget = target[0] === "-"; - if (excludeTarget && target.length === 1) { return memo; } - const filteredTarget = excludeTarget ? target.slice(1) : target; - if (element["SHA256"] !== undefined && regexSHA256.test(filteredTarget)) { - return memo && excludeTarget !== (filteredTarget === element["SHA256"]); - } - else { - return memo && excludeTarget !== text.includes(filteredTarget); - } - }, true); - }); - - this.setData(newList); - } -} - class ModelGrid { /** * @param {Array} list @@ -1352,11 +1222,6 @@ function $radioGroup(attr) { class ModelManager extends ComfyDialog { #el = { - /** @type {HTMLButtonElement} */ loadSourceBtn: null, - /** @type {HTMLInputElement} */ loadSourceFromInput: null, - /** @type {HTMLSelectElement} */ sourceInstalledFilter: null, - /** @type {HTMLInputElement} */ sourceContentFilter: null, - /** @type {HTMLDivElement} */ modelInfoUrl: null, /** @type {HTMLDivElement} */ modelInfos: null, @@ -1386,7 +1251,6 @@ class ModelManager extends ComfyDialog { }; #data = { - /** @type {Array} */ sources: [], /** @type {Object} */ models: {}, /** @type {DirectoryItem[]} */ modelDirectories: [], /** @type {Array} */ previousModelFilters: [], @@ -1396,9 +1260,6 @@ class ModelManager extends ComfyDialog { /** @type {string} */ #sep = "/"; - /** @type {SourceList} */ - #sourceList = null; - constructor() { super(); this.element = $el( @@ -1440,7 +1301,6 @@ class ModelManager extends ComfyDialog { ), $tabs([ $tab("Download", [this.#downloadTab_new()]), - //$tab("Install", this.#createSourceInstall()), $tab("Models", this.#modelTab_new()), $tab("Settings", [this.#settingsTab_new()]), ]), @@ -1453,140 +1313,9 @@ class ModelManager extends ComfyDialog { #init() { this.#settingsTab_reload(false); - //this.#refreshSourceList(); this.#modelTab_updateModels(); } - /** - * @returns {HTMLDivElement[]} - */ - #createSourceInstall() { - this.#createSourceList(); - return [ - $el("div.row.tab-header", [ - $el("div.row.tab-header-flex-block", [ - $el("button.icon-button", { - type: "button", - textContent: "⟳", - $: (el) => (this.#el.loadSourceBtn = el), - onclick: () => this.#refreshSourceList(), - }), - $el("input.plain-text-area", { - $: (el) => (this.#el.loadSourceFromInput = el), - placeholder: "https://ComfyUI-Model-Manager/index.json", - }), - ]), - $el("div.row.tab-header-flex-block", [ - $el("input.search-text-area", { - $: (el) => (this.#el.sourceContentFilter = el), - placeholder: "example: \"sd_xl\" -vae", - onkeydown: (e) => e.key === "Enter" && this.#filterSourceList(), - }), - $el("select", - { - $: (el) => (this.#el.sourceInstalledFilter = el), - style: { width: 0 }, - onchange: () => this.#filterSourceList(), - }, - [ - $el("option", ["Filter: All"]), - $el("option", ["Downloaded"]), - $el("option", ["Not Downloaded"]), - ] - ), - $el("button.icon-button", { - type: "button", - textContent: "🔍︎", - onclick: () => this.#filterSourceList(), - }), - ]), - ]), - this.#sourceList.element, - ]; - } - - /** - * @returns {HTMLElement} - */ - #createSourceList() { - const sourceList = new SourceList([ - { - title: "Type", - dataIndex: "type", - width: "120", - align: "center", - }, - { - title: "Base", - dataIndex: "base", - width: "120", - align: "center", - }, - { - title: "Name", - dataIndex: "name", - width: "280", - render: (value, record) => { - const href = record.page; - return $el("a", { target: "_blank", href }, [value]); - }, - }, - { - title: "Description", - dataIndex: "description", - }, - { - title: "Download", - width: "150", - render: (_, record) => { - const installed = record.installed; - return $el("button.block", { - type: "button", - disabled: installed, - textContent: installed ? "✓︎" : "📥︎", - onclick: async (e) => { - e.disabled = true; - const response = await request( - "/model-manager/download", - { - method: "POST", - body: JSON.stringify(record), - } - ); - e.disabled = false; - }, - }); - }, - }, - ]); - this.#sourceList = sourceList; - return sourceList.element; - } - - async #refreshSourceList() { - this.#el.loadSourceBtn.disabled = true; - - const source = this.#el.loadSourceFromInput.value; - const uri = (source === "https://ComfyUI-Model-Manager/index.json") || (source === "") ? "local" : source; - const dataSource = await request( - `/model-manager/source?uri=${uri}` - ).catch(() => []); - this.#data.sources = dataSource; - this.#sourceList.setData(dataSource); - this.#el.sourceInstalledFilter.value = "Filter: All"; - this.#el.sourceContentFilter.value = ""; - - this.#el.loadSourceBtn.disabled = false; - } - - #filterSourceList() { - this.#sourceList.filterList( - this.#data.sources, - this.#el.sourceContentFilter.value, - this.#el.sourceInstalledFilter.value - ); - } - /** @type {DirectoryDropdown} */ #modelContentFilterDirectoryDropdown = null; @@ -1718,7 +1447,6 @@ class ModelManager extends ComfyDialog { if (reloadData) { // Is this slow? - //this.#refreshSourceList(); this.#modelTab_updateModels(); } } @@ -2034,7 +1762,7 @@ class ModelManager extends ComfyDialog { const modelInfo = $el("details.download-details", [ $el("summary", [filepath + info["fileName"]]), $el("div", { - style: { display: "flex", gap: "16px" }, + style: { display: "flex", "flex-wrap": "wrap", gap: "16px" }, }, [ $el("div.item", { $: (el) => (els.modelPreviewContainer = el), @@ -2042,6 +1770,10 @@ class ModelManager extends ComfyDialog { }, [ $el("div", { $: (el) => (els.previewImgs = el), + style: { + width: "100%", + height: "100%", + }, }, (() => { const imgs = info["images"].map((url) => { return $el("img", { From 241e06e17d1dec653b4efd95c5ed8a2b8bec068f Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 01:11:50 -0500 Subject: [PATCH 48/79] Remove download debug. --- __init__.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/__init__.py b/__init__.py index 6c36e61..b13dd09 100644 --- a/__init__.py +++ b/__init__.py @@ -391,8 +391,7 @@ def download_file(url, filename, overwrite): if not overwrite and os.path.isfile(filename): raise Exception("File already exists!") - # TODO: clear any previous failed partial download file - dl_filename = filename + ".download" + filename_temp = filename + ".download" def_headers = { "User-Agent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", @@ -411,8 +410,8 @@ def download_file(url, filename, overwrite): raise Exception("Unable to download") downloaded_size = 0 - if rh.status_code == 200 and os.path.exists(dl_filename): - downloaded_size = os.path.getsize(dl_filename) + if rh.status_code == 200 and os.path.exists(filename_temp): + downloaded_size = os.path.getsize(filename_temp) headers = {"Range": "bytes=%d-" % downloaded_size} headers["User-Agent"] = def_headers["User-Agent"] @@ -439,16 +438,14 @@ def download_file(url, filename, overwrite): # Civitai download link pass - print("temp file is " + dl_filename) total_size = int(rh.headers.get("Content-Length", 0)) # TODO: pass in total size earlier - basename, ext = os.path.splitext(filename) - print("Start download " + basename) + print("Download file: " + filename) if total_size != 0: print("Download file size: " + str(total_size)) mode = "wb" if overwrite else "ab" - with open(dl_filename, mode) as f: + with open(filename_temp, mode) as f: for chunk in r.iter_content(chunk_size=1024): if chunk is not None: downloaded_size += len(chunk) @@ -472,13 +469,12 @@ def download_file(url, filename, overwrite): print() if overwrite and os.path.isfile(filename): os.remove(filename) - os.rename(dl_filename, filename) + os.rename(filename_temp, filename) @server.PromptServer.instance.routes.post("/model-manager/download") async def download_model(request): body = await request.json() - json.dump(body, sys.stdout, indent=4) overwrite = body.get("overwrite", False) From d4de1da26e0ce977915ecadf5f6333816348576c Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 01:22:49 -0500 Subject: [PATCH 49/79] Revert width and update README. --- README.md | 8 +++++++- web/model-manager.css | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 977b30a..a6cbb71 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ Currently it is still missing some features it should have. - Remade download tab. - View multiple models connected to url. - - Download preview images. + - Select download directory. + - Optionally download default or custom preivew image. - Civitai and HuggingFace API token configurable in `server_settings.yaml`. ### Models Tab @@ -65,6 +66,7 @@ Currently it is still missing some features it should have. - ☐ Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - ☐ Radio buttons to swap between downloaded and server view. - ☐ Delete model with warning popup. +- ☐ Set preview image. ### Settings @@ -101,3 +103,7 @@ Currently it is still missing some features it should have. ### Sidebar - ☐ Drag sidebar width/height dynamically. + +### Downloading + +- ☐ Add back support for downloading from and `index.json` file. diff --git a/web/model-manager.css b/web/model-manager.css index 0b7007a..062a9aa 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -298,7 +298,7 @@ .model-manager .comfy-tabs-body > div { position: relative; height: 100%; - width: 90%; + width: auto; padding: 0 16px; overflow-x: auto; } From 04622b460d1750a62e9e3af8e06647ce6ae6b10a Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 11:30:39 -0500 Subject: [PATCH 50/79] HuggingFace download image support. - Images now appear with HuggingFace links. - Download inputs fill full width. - Disabled (annoying) directory auto-suggest dropdown auto-selecting on arrow right or left. --- web/model-manager.css | 4 +++ web/model-manager.js | 62 +++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index 062a9aa..6ae11ac 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -457,3 +457,7 @@ .model-manager [data-name="Download"] summary { padding: 16px; } + +.model-manager [data-name="Download"] .download-settings { + flex: 1; +} diff --git a/web/model-manager.js b/web/model-manager.js index 9da6734..1493245 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -56,7 +56,7 @@ const MODEL_SORT_DATE_MODIFIED = "dateModified"; const MODEL_SORT_DATE_NAME = "name"; const MODEL_EXTENSIONS = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"]; // TODO: ask server for? -const IMAGE_EXTENSIONS = [".png", ".webp", ".gif"]; // TODO: ask server for? +const IMAGE_EXTENSIONS = [".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp"]; // TODO: ask server for? /** * Tries to return the related ComfyUI model directory if unambigious. @@ -271,36 +271,25 @@ async function huggingFace_getFilteredInfo(stringUrl) { const modelId = urlPath.substring(i0, i2); const urlPathEnd = urlPath.substring(i2); - let branch = null; - if (urlPathEnd.startsWith("/resolve")) { - branch = "/resolve"; - } - else if (urlPathEnd.startsWith("/blob")) { - branch = "/blob"; - } - else if (urlPathEnd.startsWith("/tree")) { - branch = "/tree"; - } + const isValidBranch = ( + urlPathEnd.startsWith("/resolve") || + urlPathEnd.startsWith("/blob") || + urlPathEnd.startsWith("/tree") + ); + let branch = "/main"; let filePath = ""; - if (branch == null) { - branch = "/tree/main"; - } - else { + if (isValidBranch) { const i0 = branch.length; const i1 = urlPathEnd.indexOf("/", i0 + 1); if (i1 == -1) { - if (i0 == urlPathEnd.length) { - // ends with '/tree' (invalid?) - branch = "/tree/main"; - } - else { + if (i0 != urlPathEnd.length) { // ends with branch - branch = "/tree" + urlPathEnd.substring(i0); + branch = urlPathEnd.substring(i0); } } else { - branch = "/tree" + urlPathEnd.substring(i0, i1); + branch = urlPathEnd.substring(i0, i1); if (urlPathEnd.length - 1 > i1) { filePath = urlPathEnd.substring(i1); } @@ -308,9 +297,9 @@ async function huggingFace_getFilteredInfo(stringUrl) { } const modelInfo = await huggingFace_requestInfo(modelId); - //const modelInfo = await requestInfo(modelId + branch); // this only gives you the files at the given branch path... + //const modelInfo = await requestInfo(modelId + "/tree" + branch); // this only gives you the files at the given branch path... // oid: SHA-1?, lfs.oid: SHA-256 - + const clippedFilePath = filePath.substring(filePath[0] === "/" ? 1 : 0); const modelFiles = modelInfo["siblings"].filter((sib) => { const filename = sib["rfilename"]; @@ -328,24 +317,24 @@ async function huggingFace_getFilteredInfo(stringUrl) { return {}; } - const imageFiles = modelInfo["siblings"].filter((sib) => { + const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch; + + const images = modelInfo["siblings"].filter((sib) => { const filename = sib["rfilename"]; for (let i = 0; i < IMAGE_EXTENSIONS.length; i++) { if (filename.endsWith(IMAGE_EXTENSIONS[i])) { - return filename.startsWith(filePath); + return filename.startsWith(clippedFilePath); } } return false; }).map((sib) => { - const filename = sib["rfilename"]; - return filename; + return baseDownloadUrl + "/" + sib["rfilename"]; }); - const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch.replace("/tree", ""); return { "baseDownloadUrl": baseDownloadUrl, "modelFiles": modelFiles, - "imageFiles": imageFiles, + "images": images, }; } @@ -432,11 +421,13 @@ class DirectoryDropdown { updateDropdown(); //updateCallback(); //submitCallback(); + /* const options = dropdown.children; if (options.length > 0) { // arrow key navigation options[0].classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); } + */ } } else if (e.key === "ArrowLeft" && dropdown.style.display !== "none") { @@ -464,6 +455,7 @@ class DirectoryDropdown { updateDropdown(); //updateCallback(); //submitCallback(); + /* const options = dropdown.children; let isSelected = false; for (let i = 0; i < options.length; i++) { @@ -481,6 +473,7 @@ class DirectoryDropdown { options[0].classList.add(DROPDOWN_DIRECTORY_SELECTION_CLASS); } } + */ } } } @@ -1673,8 +1666,9 @@ class ModelManager extends ComfyDialog { */ #downloadTab_modelInfo(info, modelTypes, modelDirectories, sep, id) { // TODO: use passed in info + const RADIO_MODEL_PREVIEW_NONE = "No Preview"; const RADIO_MODEL_PREVIEW_DEFAULT = "Default Preview"; - const RADIO_MODEL_PREVIEW_CUSTOM = "Custom Preview Url"; + const RADIO_MODEL_PREVIEW_CUSTOM = "Custom Preview"; const els = { modelPreviewContainer: null, @@ -1749,7 +1743,7 @@ class ModelManager extends ComfyDialog { }, options: (() => { const radios = []; - radios.push({ value: "No Preview" }); + radios.push({ value: RADIO_MODEL_PREVIEW_NONE }); if (info["images"].length > 0) { radios.push({ value: RADIO_MODEL_PREVIEW_DEFAULT }); } @@ -1800,7 +1794,7 @@ class ModelManager extends ComfyDialog { }), ]), ]), - $el("div", [ + $el("div.download-settings", [ $el("div", { style: { "margin-top": "8px" } }, [ @@ -2001,7 +1995,7 @@ class ModelManager extends ComfyDialog { const indexSep = file.lastIndexOf("/"); const filename = file.substring(indexSep + 1); return { - "images": [], // TODO: ambiguous? + "images": hfInfo["images"], "fileName": filename, "modelType": "", "downloadUrl": baseDownloadUrl + "/" + file + "?download=true", From 35ebbbc8d6c1f457b8abf83410e97a6bd8d67b51 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 12:06:40 -0500 Subject: [PATCH 51/79] Backport Index.json download url support. --- web/model-manager.js | 75 ++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 1493245..4658b1b 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -61,35 +61,41 @@ const IMAGE_EXTENSIONS = [".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp"]; // /** * Tries to return the related ComfyUI model directory if unambigious. * - * @param {string} modelType - Civitai model type. - * @param {string} [fileType] - Civitai file type. Relevant for "Diffusers". + * @param {string | undefined} modelType - Model type. + * @param {string | undefined} [fileType] - File type. Relevant for "Diffusers". * - * @returns {(string|null)} Logical base directory name for model type. May be null if the directory is ambiguous or not a model type. + * @returns {(string | null)} Logical base directory name for model type. May be null if the directory is ambiguous or not a model type. */ -function civitai_comfyUiDirectory(modelType, fileType) { - if (fileType == "Diffusers") { return "diffusers"; } // TODO: is this correct? +function modelTypeToComfyUiDirectory(modelType, fileType) { + if (fileType !== undefined && fileType !== null) { + const f = fileType.toLowerCase(); + if (f == "diffusers") { return "diffusers"; } // TODO: is this correct? + } - // TODO: somehow allow for SERVER to set dir? - // TODO: allow user to choose EXISTING folder override/null? (style_models, HuggingFace) (use an object/map instead so settings can be dynamically set) - if (modelType == "AestheticGradient") { return null; } - else if (modelType == "Checkpoint") { return "checkpoints"; } // TODO: what about VAE? - //else if (modelType == "") { return "clip"; } - //else if (modelType == "") { return "clip_vision"; } - else if (modelType == "Controlnet") { return "controlnet"; } - //else if (modelType == "Controlnet") { return "style_models"; } // are these controlnets? (TI-Adapter) - //else if (modelType == "") { return "gligen"; } - else if (modelType == "Hypernetwork") { return "hypernetworks"; } - else if (modelType == "LORA") { return "loras"; } - else if (modelType == "LoCon") { return "loras"; } - else if (modelType == "MotionModule") { return null; } - else if (modelType == "Other") { return null; } - else if (modelType == "Pose") { return null; } - else if (modelType == "TextualInversion") { return "embeddings"; } - //else if (modelType == "") { return "unet"; } - else if (modelType == "Upscaler") { return "upscale_models"; } - else if (modelType == "VAE") { return "vae"; } - else if (modelType == "Wildcards") { return null; } - else if (modelType == "Workflows") { return null; } + if (modelType !== undefined && modelType !== null) { + const m = modelType.toLowerCase(); + // TODO: somehow allow for SERVER to set dir? + // TODO: allow user to choose EXISTING folder override/null? (style_models, HuggingFace) (use an object/map instead so settings can be dynamically set) + if (m == "aestheticGradient") { return null; } + else if (m == "checkpoint" || m == "checkpoints") { return "checkpoints"; } + //else if (m == "") { return "clip"; } + //else if (m == "") { return "clip_vision"; } + else if (m == "controlnet") { return "controlnet"; } + //else if (m == "Controlnet") { return "style_models"; } // are these controlnets? (TI-Adapter) + //else if (m == "") { return "gligen"; } + else if (m == "hypernetwork" || m == "hypernetworks") { return "hypernetworks"; } + else if (m == "lora" || m == "loras") { return "loras"; } + else if (m == "locon") { return "loras"; } + else if (m == "motionmodule") { return null; } + else if (m == "other") { return null; } + else if (m == "pose") { return null; } + else if (m == "textualinversion" || m == "embedding" || m == "embeddings") { return "embeddings"; } + //else if (m == "") { return "unet"; } + else if (m == "upscaler" || m == "upscale_model" || m == "upscale_models") { return "upscale_models"; } + else if (m == "vae") { return "vae"; } + else if (m == "wildcard" || m == "wildcards") { return null; } + else if (m == "workflow" || m == "workflows") { return null; } + } return null; } @@ -1928,8 +1934,8 @@ class ModelManager extends ComfyDialog { const modelTypeSelect = els.modelTypeSelect; modelTypeSelect.selectedIndex = 0; // reset const comfyUIModelType = ( - civitai_comfyUiDirectory(info["details"]["fileType"]) ?? - civitai_comfyUiDirectory(info["modelType"]) ?? + modelTypeToComfyUiDirectory(info["details"]["fileType"]) ?? + modelTypeToComfyUiDirectory(info["modelType"]) ?? null ); if (comfyUIModelType !== undefined && comfyUIModelType !== null) { @@ -2007,8 +2013,17 @@ class ModelManager extends ComfyDialog { }); } if (urlText.endsWith(".json")) { - // TODO: support old index model files - return []; + const indexInfo = await request(urlText).catch(() => []); + return indexInfo.map((file) => { + return { + "images": [], + "fileName": file["name"], + "modelType": modelTypeToComfyUiDirectory(file["type"], "") ?? "", + "downloadUrl": file["download"], + "downloadFilePath": "", + "details": {}, + }; + }); } return []; })(); From ef64ff1644ca86d0f930502febcc676d6ac22bde Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 12:09:44 -0500 Subject: [PATCH 52/79] Remove index.json and related code from server. --- __init__.py | 86 ------------------------- index.json | 177 ---------------------------------------------------- 2 files changed, 263 deletions(-) delete mode 100644 index.json diff --git a/__init__.py b/__init__.py index b13dd09..42df17f 100644 --- a/__init__.py +++ b/__init__.py @@ -2,7 +2,6 @@ import os import pathlib import sys import copy -import hashlib import importlib import re @@ -24,8 +23,6 @@ config_loader_spec.loader.exec_module(config_loader) comfyui_model_uri = os.path.join(os.getcwd(), "models") extension_uri = os.path.join(os.getcwd(), "custom_nodes" + os.path.sep + "ComfyUI-Model-Manager") -index_uri = os.path.join(extension_uri, "index.json") -#checksum_cache_uri = os.path.join(extension_uri, "checksum_cache.txt") no_preview_image = os.path.join(extension_uri, "no-preview.png") ui_settings_uri = os.path.join(extension_uri, "ui_settings.yaml") server_settings_uri = os.path.join(extension_uri, "server_settings.yaml") @@ -34,8 +31,6 @@ fallback_model_extensions = set([".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safe image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") #video_extensions = (".avi", ".mp4", ".webm") # TODO: Requires ffmpeg or cv2. Cache preview frame? -#hash_buffer_size = 4096 - _folder_names_and_paths = None # dict[str, tuple[list[str], list[str]]] def folder_paths_folder_names_and_paths(refresh = False): global _folder_names_and_paths @@ -183,87 +178,6 @@ async def img_preview(request): return web.Response(body=image_data, content_type="image/" + image_extension) -#def calculate_sha256(file_path): -# try: -# with open(file_path, "rb") as f: -# sha256 = hashlib.sha256() -# while True: -# data = f.read(hash_buffer_size) -# if not data: -# break -# sha256.update(data) -# return sha256.hexdigest() -# except: -# return "" - -@server.PromptServer.instance.routes.get("/model-manager/source") -async def load_source_from(request): - uri = request.query.get("uri", "local") - if uri == "local": - with open(index_uri) as file: - dataSource = json.load(file) - else: - response = requests.get(uri) - dataSource = response.json() - - model_types = os.listdir(comfyui_model_uri) - model_types.remove("configs") - sourceSorted = {} - for model_type in model_types: - sourceSorted[model_type] = [] - for item in dataSource: - item_model_type = model_type_to_dir_name(item.get("type")) - sourceSorted[item_model_type].append(item) - item["installed"] = False - - #checksum_cache = [] - #if os.path.exists(checksum_cache_uri): - # with open(checksum_cache_uri, "r") as file: - # checksum_cache = file.read().splitlines() - #else: - # with open(checksum_cache_uri, "w") as file: - # pass - #print(checksum_cache) - - for model_type in model_types: - for model_base_path in folder_paths_get_folder_paths(model_type): - if not os.path.exists(model_base_path): # Bug in main code? - continue - for cwd, _subdirs, files in os.walk(model_base_path): - for file in files: - source_type = sourceSorted[model_type] - for iItem in range(len(source_type)-1,-1,-1): - item = source_type[iItem] - - # TODO: Make hashing optional (because it is slow to compute). - if file != item.get("name"): - continue - - #file_path = os.path.join(cwd, file) - #file_size = int(item.get("size") or 0) - #if os.path.getsize(file_path) != file_size: - # continue - # - #checksum = item.get("SHA256") - #if checksum == "" or checksum == None: - # continue - # BUG: Model always hashed if same size but different hash. - # TODO: Change code to save list (NOT dict) with absolute model path and checksum on each line - #if checksum not in checksum_cache: - # sha256 = calculate_sha256(file_path) # TODO: Make checksum optional! - # checksum_cache.append(sha256) - # print(f"{file}: calc:{sha256}, real:{checksum}") - # if sha256 != checksum: - # continue - - item["installed"] = True - end_swap_and_pop(source_type, iItem) - - #with open(checksum_cache_uri, "w") as file: - # file.writelines(checksum + '\n' for checksum in checksum_cache) # because python is a mess - - return web.json_response(dataSource) - @server.PromptServer.instance.routes.get("/model-manager/models") async def load_download_models(request): diff --git a/index.json b/index.json deleted file mode 100644 index 82606c0..0000000 --- a/index.json +++ /dev/null @@ -1,177 +0,0 @@ -[ - { - "type": "checkpoint", - "base": "sd-xl", - "name": "sd_xl_base_1.0.safetensors", - "page": "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0", - "download": "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors", - "description": "Stable Diffusion XL base model", - "size": "6938078334", - "SHA256": "31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b" - }, - { - "type": "checkpoint", - "base": "sd-xl", - "name": "sd_xl_refiner_1.0.safetensors", - "page": "https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0", - "download": "https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors", - "description": "Stable Diffusion XL refiner model", - "size": "6075981930", - "SHA256": "7440042bbdc8a24813002c09b6b69b64dc90fded4472613437b7f55f9b7d9c5f" - }, - { - "type": "vae", - "base": "sd-xl-vae", - "name": "sdxl_vae.safetensors", - "page": "https://huggingface.co/stabilityai/sdxl-vae", - "download": "https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors", - "description": "Stable Diffusion XL VAE", - "size": "334641164", - "SHA256": "63aeecb90ff7bc1c115395962d3e803571385b61938377bc7089b36e81e92e2e" - }, - { - "type": "checkpoint", - "base": "sd-1.5", - "name": "anything_v5.safetensors", - "page": "https://huggingface.co/stablediffusionapi/anything-v5", - "download": "https://huggingface.co/stablediffusionapi/anything-v5/resolve/main/unet/diffusion_pytorch_model.safetensors", - "size": "3438167536", - "SHA256": "04e883b18718d9ae9548303a4a8416a843dd9496fdd38e6f3bf36971a78d81b7" - }, - { - "type": "vae", - "name": "anything_v5.vae.safetensors", - "page": "https://huggingface.co/stablediffusionapi/anything-v5", - "download": "https://huggingface.co/stablediffusionapi/anything-v5/resolve/main/vae/diffusion_pytorch_model.safetensors", - "size": "334643276", - "SHA256": "63df757ecf5f5ee8bd4c88fd4cd00fceb44e1ad30a3e44d952ce346b78f34f91" - }, - { - "type": "checkpoint", - "name": "Counterfeit-V3.0.safetensors", - "page": "https://huggingface.co/gsdf/Counterfeit-V3.0", - "download": "https://huggingface.co/gsdf/Counterfeit-V3.0/resolve/main/Counterfeit-V3.0.safetensors", - "size": "9399621844", - "SHA256": "db6cd0a62d4844d8c9683129b222aa32998c24c69291711ea03fee3f81f96edd" - }, - { - "type": "embeddings", - "name": "EasyNegative.safetensors", - "page": "https://huggingface.co/datasets/gsdf/EasyNegative", - "download": "https://huggingface.co/datasets/gsdf/EasyNegative/resolve/main/EasyNegative.safetensors", - "size": "24655", - "SHA256": "c74b4e810b030f6b75fde959e2db678c268d07115b85356d3c0138ba5eb42340" - }, - { - "type": "checkpoint", - "name": "CounterfeitXL_%CE%B2.safetensors", - "page": "https://huggingface.co/gsdf/CounterfeitXL", - "download": "https://huggingface.co/gsdf/CounterfeitXL/resolve/main/CounterfeitXL_%CE%B2.safetensors", - "size": "6938040682", - "SHA256": "79f6514507c050e7d6e725c96dd44fa74a0a011f44efd8183167c80c7ab22c1b" - }, - { - "type": "checkpoint", - "name": "AOM3A1B_orangemixs.safetensors", - "page": "https://huggingface.co/WarriorMama777/OrangeMixs", - "download": "https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1B_orangemixs.safetensors", - "size": "2132626071", - "SHA256": "5493a0ec491f5961dbdc1c861404088a6ae9bd4007f6a3a7c5dee8789cdc1361" - }, - { - "type": "vae", - "name": "orangemix.vae.pt", - "page": "https://huggingface.co/WarriorMama777/OrangeMixs", - "download": "https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt", - "size": "822802803", - "SHA256": "f921fb3f29891d2a77a6571e56b8b5052420d2884129517a333c60b1b4816cdf" - }, - { - "type": "checkpoint", - "name": "Deliberate_v3.safetensors", - "page": "https://huggingface.co/XpucT/Deliberate", - "download": "https://huggingface.co/XpucT/Deliberate/resolve/main/Deliberate_v3.safetensors", - "size": "2132626832", - "SHA256": "aadddd3d7579de79db91f4ac03f2fbad4e9b71216bbebb50c338cae74b77cb27" - }, - { - "type": "checkpoint", - "name": "Realistic_Vision_V5.1.safetensors", - "page": "https://huggingface.co/SG161222/Realistic_Vision_V5.1_noVAE", - "download": "https://huggingface.co/SG161222/Realistic_Vision_V5.1_noVAE/resolve/main/Realistic_Vision_V5.1.safetensors", - "size": "4265097044", - "SHA256": "00445494c80979e173c267644ea2d7c67a37fe3c50c9f4d5a161d8ecdd96cb2f" - }, - { - "type": "vae", - "name": "sd_vae.safetensors", - "page": "https://huggingface.co/stabilityai/sd-vae-ft-mse-original", - "download": "https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors", - "size": "334641190", - "SHA256": "735e4c3a447a3255760d7f86845f09f937809baa529c17370d83e4c3758f3c75" - }, - { - "type": "checkpoint", - "name": "LOFI_V3.safetensors", - "page": "https://huggingface.co/lenML/LOFI-v3", - "download": "https://huggingface.co/lenML/LOFI-v3/resolve/main/LOFI_V3.safetensors", - "size": "5838302756", - "SHA256": "02f68485a143121214d7a0f563c35a271c6f6394dcd986c161d27945ba713bc2" - }, - { - "type": "checkpoint", - "name": "NeverendingDream_noVae.safetensors", - "page": "https://huggingface.co/Lykon/NeverEnding-Dream", - "download": "https://huggingface.co/Lykon/NeverEnding-Dream/resolve/main/NeverendingDream_noVae.safetensors", - "size": "4265096720", - "SHA256": "3fa172acd68289ec92a687ce074d62b963fca7d833a3e6507668fee827cee902" - }, - { - "type": "checkpoint", - "name": "ProtoGen_X5.8.safetensors", - "page": "https://huggingface.co/darkstorm2150/Protogen_x5.8_Official_Release", - "download": "https://huggingface.co/darkstorm2150/Protogen_x5.8_Official_Release/resolve/main/ProtoGen_X5.8.safetensors", - "size": "7703274889", - "SHA256": "6a21b428a3fb7286f024f958c761ea1a36a5061c3d3c1eb6a815c88af0e97cb0" - }, - { - "type": "checkpoint", - "name": "GuoFeng3.4.safetensors", - "page": "https://huggingface.co/xiaolxl/GuoFeng3", - "download": "https://huggingface.co/xiaolxl/GuoFeng3/resolve/main/GuoFeng3.4.safetensors", - "size": "2299933688", - "SHA256": "a83e25fe5b70bad595fe4dd6733ee35f0e3ddf8ed4041ab360f9573556e8b3e6" - }, - { - "type": "lora", - "name": "Xiaorenshu_v15.safetensors", - "page": "https://huggingface.co/datamonet/xiaorenshu", - "download": "https://huggingface.co/datamonet/xiaorenshu/resolve/main/Xiaorenshu_v15.safetensors", - "size": "151111013", - "SHA256": "dd9ead4035c17d3169fbb4a34a720b4909d54a5c367eaab5ae4b9e91eaebea3c" - }, - { - "type": "lora", - "name": "Colorwater_v4.safetensors", - "page": "https://huggingface.co/niitokikei/Colorwater", - "download": "https://huggingface.co/niitokikei/Colorwater/resolve/main/Colorwater_v4.safetensors", - "size": "151111114", - "SHA256": "1b175706ff313111f5c5c750e18f13056868801ccde0e75f73f327a8e4f57a05" - }, - { - "type": "lora", - "name": "huyefo-v1.0.safetensors", - "page": "https://civitai.com/models/104426", - "download": "https://civitai.com/api/download/models/104426", - "size": "18991304", - "SHA256": "F4057E9C1422A84D1CDAF661E85DB26A7F76B980712DFE7E7601908728DC4175" - }, - { - "type": "upscale_models", - "name": "RealESRGAN_x2plus.pth", - "page": "https://huggingface.co/Rainy-hh/Real-ESRGAN", - "download": "https://huggingface.co/Rainy-hh/Real-ESRGAN/resolve/main/RealESRGAN_x2plus.pth", - "size": "67061725", - "SHA256": "49fafd45f8fd7aa8d31ab2a22d14d91b536c34494a5cfe31eb5d89c2fa266abb" - } -] From efea14d731b52a77454bd5fdadf2fc377eb6bee4 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 14:51:53 -0500 Subject: [PATCH 53/79] Update README. --- README.md | 80 +++++++++++++++--------------- demo-tab-download.png | Bin 0 -> 215419 bytes demo-tab-models.png | Bin 0 -> 969534 bytes model-manager-demo-screenshot.png | Bin 609762 -> 0 bytes 4 files changed, 41 insertions(+), 39 deletions(-) create mode 100644 demo-tab-download.png create mode 100644 demo-tab-models.png delete mode 100644 model-manager-demo-screenshot.png diff --git a/README.md b/README.md index a6cbb71..66c4d37 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,21 @@ # comfyui-model-manager -Browse models in ComfyUI. (Downloading and deleting are WIP.) +Download and browse models in ComfyUI. -![Model Manager Demo Screenshot](model-manager-demo-screenshot.png) +*(Viewing metadata and deleting are WIP.)* + +
    + Model Manager Demo Screenshot + Model Manager Demo Screenshot +
    + +# Fork ## About this fork I made this fork because the original repo was inactive and missing many things I needed to make ComfyUI more usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. -Currently it is still missing some features it should have. +Currently it is still missing a way to view/download model metadata and delete a model. ## Fork Improvements @@ -50,60 +57,55 @@ Currently it is still missing some features it should have. ### Code -- ☐ Javascript cleanup. - - ☐ Seperate into classes per tab? - - ☐ HTML generation all inside main class? - - ☐ More server driven, HTMX-like HTML generation? (Avoid x2 states) +- Javascript cleanup. + - Seperate into classes per tab? + - HTML generation all inside main class? + - More server driven, HTMX-like HTML generation? (Avoid x2 states) ### Model Copying -- ☐ Copy image? -- ☐ Copy model path? +- Copy model path? ### Model info window/panel (server load/send on demand) -- ☐ Info icon `ⓘ` button to view. -- ☐ Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - - ☐ Radio buttons to swap between downloaded and server view. -- ☐ Delete model with warning popup. -- ☐ Set preview image. +- Info icon `ⓘ` button to view. +- Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) + - Radio buttons to swap between downloaded and server view. +- Delete model with warning popup. +- Set preview image. ### Settings -- ☐ Exclude hidden folders with a `.` prefix. -- ☐ Enable optional checksum to detect if a model is already downloaded. -- ☐ Sidebar width. +- Exclude hidden folders with a `.` prefix. +- Enable optional checksum to detect if a model is already downloaded. +- Sidebar width. ### Search filtering and sort -- ☐ Real-time search - - ☐ Check search code is optimized to avoid recalculation on every minor input change -- ☐ Directory dropdown - - ☐ Use always filter to filter directory content auto-suggest dropdown -- ☐ Filters dropdown - - ☐ Stable Diffusion model version/Clip/Upscale/? - - ☐ Favorites -- ☐ Sort-by dropdown - - ☐ Recently used (ascending/decending) - - ☐ Frequently used (ascending/decending) -- ☐ `or` vs `and` type of keyword search (currently `and`) +- Real-time search + - Check search code is optimized to avoid recalculation on every minor input change +- Directory dropdown + - Use always filter to filter directory content auto-suggest dropdown +- Filters dropdown + - Stable Diffusion model version/Clip/Upscale/? + - Favorites +- Sort-by dropdown + - Recently used (ascending/decending) + - Frequently used (ascending/decending) +- `or` vs `and` type of keyword search (currently `and`) ### Image preview -- ☐ Support multiple preview images. (swipe?) -- ☐ Show preview images for videos. - - ☐ If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. - - ☐ Play preview video? +- Support multiple preview images. (swipe?) +- Show preview images for videos. + - If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. + - Play preview video? ### Accessibility -- ☐ Proper naming and labeling. -- ☐ Tool tips? +- Proper naming and labeling. +- Tool tips? ### Sidebar -- ☐ Drag sidebar width/height dynamically. - -### Downloading - -- ☐ Add back support for downloading from and `index.json` file. +- Drag sidebar width/height dynamically. diff --git a/demo-tab-download.png b/demo-tab-download.png new file mode 100644 index 0000000000000000000000000000000000000000..03e2ca0e8814c4e23d233c2e4466b1c9a2817fae GIT binary patch literal 215419 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

    ~*;F9m=D znOLCQ!?|O3wDSUHLWcbzGPV4?yxCu?gTalYt~nV*QrSb;!7D5iCivo+)6+2z?~d|1 ztlaqhD^m!@uMVy2E!O_TL-Ua@(X)pD5k?ADlI5~yKNpT7S(vgiLBr|PHju;>TG5+g zRVJZRje|~)lW%}H%)-s>A0l{y34`sC{nGPhXF@#C+AqmMTKmVx&AUfnS8paXIzUga25Exs zjeJYue>HG22E=N1|8-CfH?^rJFx8@}D)kY|LbXqixVcq-ddU}0vYXA5R>Yxd>FD@n znAK=dJgv)sdvLU0=(%~Mbt=%|Q74-uh$B6SHGQmRD5F*PdU$*#r=Xx9D-XXvgM!~h z4tSpPXH{L@?P!4po4LpG?DhIKHkpi}Fz#yU5Rr+SgpNf6R)brhSBnp;0~kfGCve)C z6{-DwvJT{w)_iDs>SjlI@NnWm<*j1TOsTkArLD~ygyUml0Z`*C{0gFR9PBoC#wI3$ zOgYvtQN&D20U~S%XQY%ejPNg?V6)PA9RDJW}b$cX)wj3mFnNs>`LB86O`T(reWjVq5 zXU6t)wPWYgPQnCNXW@ArMNMmy(}DD7!AfmN|HXK9VfRtutEHH5V>4yt^0kh?6751X z&#gGcDrb&D!||oj(dglfZ*wd#1B5-lUpYy!;b`aJFjPF&?{pZVuqK*~P|90$%H%;? zdY{s}T-wvPeR$gqcg}_g)+WUcH{b?>p8phZh1p4DJoYN@HFE9Ylmhh?|ZDk`{A zLvM3&aa}^G|9xT+HO~BQRK&@_AtHfv{1$vLz%GI(Ru7<^Qj#)*ZZk*i|3*p|C|#&$ zkJ}i3dRi{`Cba_1_SG4`r9YMFem@k+3Qa3tsa?Ks`Tnp22L}f^c_Gh^dra34w5Ea& z)W9CXx&Y~Paq63(?EW~f%R;NEVz2{Tge=xMIrOatF35LzcW_BD;jeFLD$6EXk>VNf?|Fe(%*N6QVm-esM{O^A6zb@#% z^P2y}?>$esq$@7JGatnKGv}`g(9aC9A44{9cbRt%CSHolN0bC}3JL~`QNK9n78Lxg zjOUQW#7i|5F|UnxK6G%v-|IcErSkjvK%IysKv0(Yo!W(byWU306rvc;{DPo z9slvs?cHs=de15ZA6|gvF?m&wq}z;sCo2)QzMb8G?b%aArrjcMtLxzw6+YHt{;dOx zI>kEMh6+5#($HUk>&p7<9V?UFHuLcg8>gygtW=$mJp%IKwfiHQ zNJ~h^eSbKd@1tPS^{J^T&|BbVWn<$^9li4SP1B2C2M5$7A2eom|B}UVHWWE?e|MN< z!L$|si+-Kc-}fX5g@Bz1ZqTp8!_?y9;w)Sfszt~k2ZN8h&W@DP*kA-UPEL~c#Pb+v zXM#-t!ZsASoow^l&z?O~NgyXC2KGFT7ma=i_4|S?DX#;qiSUsTQEC~JtG7J;+T)?!blPCvCdHtvJX?$$- zxx>>isk=9Vn)7A}yp++&$jAUmUvY2QUq|$V9*WZklEXhtwaG4dian-TGZXWE_H8f@7U(_ zz{)h%Z=p5h(?0QEy^a2o_g6(tTrg-ie7TN&J^?XB0b~8B;xNpup%5UQUvO}+k8k_a zz}5v&Tt!`7YxYaQBxrRO1R4SY!BgBLq_qe$GZ0itBJBAe?H|>&wcY8r)&C`Htp7)< zx^pUK(#eF6HJ4jh{|(4n{*b_K!zO#`7QXsnUN#@jK%yPpfC3*cFSzwycet&8NRzpr zZdN{%Nw+jL{R%#?-EWz+2S{ToJ>97Dm0!~w(=v^5XHbl-JIMfAC4;}#UpqMvoaS6# z!GHHXc^HUh7`8a369(SHtZ8-Ss}H8b_Dn+vVC)h!m78Z{Rf+|h2tHC=14v9j@W{4j zXcTF`aaQ4({n&LO1%%{(onm_6p>wKWH9L=8`5osP8_(^80e|P5>mWlQ)uMIzu5%j1 z*C#-4fvUm9#E-Z(0-3~7jq7?ryl_{gb zx&snqZi0Kp&3*zAKwJl?ZSspPjmZN^Wo7=0v%RBE-QPa&BTB!}ZI9Q*84g|9)e7Dqw28zF; zj16h4;4OEsEbe}6FEK$?R&EZXk%Vl9?Zzl8ywJeRjLxJlR_boWW%>iuWHD;*&QHv# z6%`{ns?B-Mgl44&zg+vbCO7Rt?D}y6xW(t>qOz=&Vg?)oX4Y&zOyo={$rIUOKAtzd78De$Xq8j)Mi_l0z%9bLf8`wF*%~d_3IsXAkkUZSb zl_PM$7#SHK@vcnVTvU?DDVahd;D~kWPriNA)4}kiA1G9c2WAV*_HeRLq0381NZ6rk z`s0$77_WSPZUbZ%%BM=`!r^H?ZcQ|5d`wL7nqfpB_>X2B|kj66x7sXl`+) zyNX~xtwJNX8I6mLt>)bXEEL}DXF(Ekn)`+mc(lJ?P>^1I`xv^pL)T7DPN44jnyN}) z^h@ny>qt>nU-Dx?8p0rCv<8j?MY^=Urm6=qYx>*!Z>Jw@S|n|%WBc%NP6^5>NKIVs z+TW$tOH4|d`ANKp8}&zlV`{3L@dyI)7SHF5JL9$|Ex%2Gy3^K%33ejZT2Xmf*;i0R zU%eXJwcp)_y80Pvc)KB9P*Bjw_U+rZ0cr-Vxu`sa>;VWx@UQ&Y;u}fs2gFLs;!tIW z8ySo%O6%*V!z7pnYM!wI1Xx-!)@tymoBdidWOswE_P~O1gaWqruvTZTo)CL*1~W!5 z?kS{K3{=L+FW&<$+Io7ly8y}?uSE8Kf4yyl`_l7>v9q(t*r5Fn&64SMGjIs}s9j$ufOX_sX7Si~-29@$-);k#+Ew6Nw8*tZnA$7Oe&o1 zc?yaI*!njEqb%E{8QRWM)InTW99m(Xaqx0pdeOnU4t-aH*y6OEv!@cHppI zVFL%~io6U2cFdy~%5U^oqU}*6+*$(yuD0?X2vd4NNC52Ezid5%|8y&gIkblpvn(My zo6ce(A6@{54}IeAqv~h}DiE1nq}sR*@vgkF?{FV{eCzesMXL}TH!v;R4?w){a_wdO zMSlA~+Q6hR7U%_2Y0)3qcR%%SdI9U7L??KHAlp-47+K+qi)BGMk>}G3`ds%9Nd{K=m z{x^Xg&PR{l`T6--`93IquV1+)%7aj{^fHmPCu}IaUhqx;1*9|deh1D3$$Sy8!3){7b#|IsR@=C* zbI_f=fuM#0g(R~>qX}zyYE6jY;kS_5FpaIaM|l%bp#lRmh_0H#Rl2kV1IqQC6Xc&Xjih$Z#8pV7k?s`jG!5EcB$jyxuI5~)%t+0#E;f5_+14o#Y;RKn+ zr>Llkw6EKoyQKX&IXUqSvgry0V``Rs)TN)3lN;%8A&tY7r!W5hc4f!MkS0vT+4Oe9 zMdClh!~#>lktW2CLyx^~Zt;fJCTb+nhwH2R1!^VaI{~Y?@V|YV4okJbXoON^^3PTiDrSx8t3cDa;CCEz;e|Vw||5Ch3}XL z$ryN{&7=6e(@lp-a5w#MT&MYcmJW>RU zt^hE!V8ldWA?>x@m(BvCo$E2VI?KEiyY4}C!6^mfA=?i>JzzrcEY-BW<1N;Xb4J`b zw3yng9k5D`KZO`rZ&k;ARRN}SoSF%_`hyD9!zzU>n&#hilt{@<=+6H;`usyEcDW~^ z335|^?cVua7xje22m7rT({-*!jxHfE?F|nrLt+OU0yo*-*}f*;H9l>ERU(>N05~Shx`|h-(#xU-IhDS zr{(9rAz!@vmuFMGoH(iqgiARr!H93vy8#yf{k>SNtGWTDsN?fLY@}Xf;uDP8{8MCl z9kAD*l=Yrjk)r!(P(vJ2PjZ$OK(e1%-|II5#C8A(-zE@4x|d*<1q($X1xF&HBmZ0! zxY}YhZ1@as;aQVY0kCbsmwHz32TuYjz2Z!GIPfo8zB`nl$r>9QTU1u|2FMM; z_7N6b`_ZpK+1=l#+Y438i4(i~DNQU~Tos$^ldFLTN^siJdl&(3XS=Nv8Ie_r+?CIs z*=M3kP~UtX62jLbTC1D(YX9H>ECpm9@m{*y+s9O(o?v!%c19;9A=CCf_C=o8Sx;56 z?MHi#j$C>o#N~eEcyiuFNZmKiL?6eA91_H3iuFT14)crf^4yF#6`oI|hoW0?YzU+_UHAP+$L%h}@2O6ONk`Y33Od1sUeDj9%7v3j zVe2mkdYKG9AXPD99oJ1xWWod7uceB@+`>XY-+WF{KxZq{w8k$UadL2ch7|%ZVqqx* zGTRI00IBD!Xz~p|e}DUoL|D(kr=V(LY`g=0E)TC3%y(IZg_S)bZhp~J#N^~HCnwbl z?14{?dBNiWKs_`RF-+&&%MWzqA1U6yOC)GO<7)1C!3V9#<2gMv^af;n2<5KxpPZf+ z*VpR|EN?{2GYptEm*bg@9gIbSgNl?5{-#Mr7}KT7375Iq*c2RiGop|4AlLoj4tIqE zx^p!ljFwxsZUuXP_#0Z#Gd4!=H!YjRU6gTj;`=KVl>1!h^O_&XTtqUcem2t(K~t-_ z`3p8a@Q2lcr5%q*K3G3tw+5vL-VJZ`hnpi)AE^*kc&a! zn9%K+@9@wE&;prLRw}fycvp41>>{g z3u(qQE1;o5zjs3*!+;D^BLg_RYg#;Gu<`|DK)?F4pU>h2TnUrhem)r^)7-^SbnpPf z1D2+cuIE7x02!o%M#?py=3S=F0$;Ib?9~nS{DYhOT4cz|%dmpCtalxy!)V)Wc}*)| zn~rxA=q6zFk&OxKxTGY1SV;r+xUuws1`E-f-evo=!IlNv^;$b^hC@c9dl0IoMtNxL z*CkLiClkqdR~Yi{guHE(mu3}=KTJ$a$g8Rzifyr1u}MHQp!{C9THY>jk9N(dl#M+c z-p#bs)Fv#uGmnPh7lq#iy4;0qAWeNu|2m5EXX;Ce#kGwBSwD2Rbyn(ZD%VAM4lzz= zr66fzV33-+`QKpY$P6_IJz?VExl`|wf_RO4^>0jOuQnerqu9IGVn#z~x6)0b%Gc;0 zxAOcz6SU=d7;8sMaW9?R&i_anou{s0Y>$M58t!4*U(C@R5Pbvf2h2CJY!&?x{RdlK zxk@Q}hC;22i;GOHviCm%e=Fm?4;7RkuAk|LMs`l%C!N<ik$IgFp)&m0yJG%_FAvuMGlFyz6Es%n48%SOh1O1GLM*I0hS%Wc>7zOl!>jx2U z$kD%2b)I_wOzJcOwzc^5Q2Sf^#|O5j2b(@K4|r*hc`qOHCQD082UFVc@i`h&2)ey9 zWLuRgr@yP6U0+|Xj|#`ywpQlxY_6=d@hP0&<##)}5t}iWba9-tyAXmDvt}bzb-a6* zJNdGTG{x4|pdO&i25eKuTTIQ!e8>Ifc`}%^^X(cle&l^E^MolgIjS%zOTK6t$X(Y! z<`Ow_fzuSjIDK($S^OMn^_eZ2D9!-DwYFp>-|# zo<_{g&+AXSiX!dh> zv(-{euELo~k9l2VGa$G#5A^>IET@BoaahuW2bL|WX}yb@pH!ZpMYKdTYoQ z@bQ7HhER>o+@)Hbm(yc?;C_G-K0lPLsFLy4J--t33p_85oWO}iOj5<Uw2(qDmF1X%%*S~-!md8<`w-uDb~4feN|NeQk@5E2r>br zS&(UVUS?{}p1Q^lk1&c+gQJyiEw4^Hs&}~rvE4?1MK=HY{4{u7ts}SvCRkY4CI;xW zpRcCcnYg?1g#s0VnmlA7#w2mfZqu3G|MB{U(658egCL9?cGP}B++S+rA@YyCG8~2nq6gQQnF{Nzg1PPo0Aq2EpOKhztr+II7*{2U({$z}UJ zE=fvk{ndjMv07=x?KOshu`#VJe0RibUenGF+y2NZTH=C7w0pkIh zPj%d&t44ui?!xhdukRM4X7ZwMGcZC6oqL?zKnp6;KF&>!>e?R`W|WQvevZDO?FR6a z@tyC$qFCne@J!l$fr7%q6ZZ-0peAW89IR-JiXrgL468ZCTuzt{vC0kIC{9;x)vEKG zyK8-Pf#VGP&rLr;|C{;Ki|V*P4~3WV@CZ|3X6oyYYSF(B1wqRDt?C^SiOl*sOChC; z0}hMN!Lo+#u|xF%cTnq?fTmek%EQx>=6Q7!&z*qEbAz9eeDve#EkEYWbk67rl4B-G zHU0uCrNT71=lmlMZ#w<$mu8SW+hWh2%}PI5HakOxV>SPMd5)vq9$}!Sj6J+OJYH?V zgUfjE(_)aQw1D`J`U4Bgh<|zbaDXs=e(=H5AQOC9MErC0`C8(ie|vCY+3L9`{q>`N z{ioM<&Arf{Z?@_?AMw8j(AP@*{N;oHn=ARB@AV&F?%y7))9)$qoAoV)|FB7zxQ3oq z6ljR%qF^)ehAx)pH#<{o0b|x6(0GmY9{d7?a*ilmy|_06tJ@%$&?Prtmdwn=pE{nV zUqijAC7y72)4MNqg@Re6wLw)I;wmg+2?Sb>BRX}^r|dn9<4X&^DY6>PT$Dw#((h{R zV@yphrR(J|HMaaHAC_N|saaYT@}bNnwAeF3;U7U&0cEk0=?7Vl>pAkp+~W4u3ovmm zQgey-7`#9Z>q-xxD3JZq3oYeLiYD+0e1E={MJPa>WfW7O58GP*Qb_7McJ8bhVZR<> zJ2^O{ed2N71;AZQW?wM(Pk{BzCfB&vb>H~d*wCOn#Ci-F19XuXs(^w5#&=%7ELm6b z#=&@MH^lbAmYnm#qN2@UO71Qw>E2ot>o8W&mjUeftJJi=lJVwIgN1gq%vpbPTQQ7h1-@VYaKi zT{?@APH+@6u9%ew(@S3lz$5KVsGGPv{ATPqSQ^KmP3zi@BY(r_eMFSj* zj{7=n%8u^t`5)9Bx3AHY3Tx=;c?40nVIU7~ZF*~Kn!Owqmditsg~?@R5K%sjd%MFn zdaP%Y1~j2aAlUKl{9-twY)xlP~Q_XhTg;k?75xs&=Wo2M4B%^E5W^@3fv?@p} zi<&i@?8?IQoj$n0G9fEV2TI=#80>B;F~$;V3GFB%boV5dS7XmmQ~Bz!U1YvQL;O-;PoA zM~#=Be3(~IAQe(Afn+0giZ|b^n-UGSgw)bf^RHfJXcddna@fN5;P<>z%zWHNlTR8x z-8&ponOR|B6y}p6)HZD87wAfn#bWV#S9z1)bd}#37PVzfP-!up7pq*!Ho_}YOyLxC zQP`dLgPcet_hpFzi_ESaH~@O(8;2{re!bqtRTr1p;yyNYcG95O!+}jQ{fZgi-e3vi ze5iH`?b`ji{zho>fM8I<3X|MC+}+dg35)qhMQy`u9UV1Muia&*+S;J~`Pih71qMs; z<^H?lE*_}3ghfP}V1+|FWd^VH=FE!3P55&mk!5#(`|Xbrwse@L1C(ef=@7mME%E$k z&xX#(V|`n)kS{7OuCS)K|Y0V(a z?%A1GJ%GnI*jyM$*;xyp^~i#sJRhBF zD_?Bg5u!<7$otM-A6(9n5w+d|9{n~^3qP)VZC#xyx5-*Y{{^LP@y(YQlniW}A|VHf zZW42j#kOtR@L@Bc$SEeqE~QwujPwqZt@es|IQM23R%^B$DkAF_ajfG<5+Dv@OF!0Q zGQ6MUW79hKFYt=NNEI=B?gZW597(xPO0#JdI20e8XFU^ly7VB(<*9RFno~I zF!a^j*jUmeJb9?oT`vt+FI_KF;h_|>GlF(j*O?s9=MD74m=rodcL&_UMpjB=2^ z!6zhp+lp@;J5e`Z{c6?6v@4aRQ4?0z#XQ#>+BZzrjxS@5dt)hdSacAag_8TAzCrrc zzSy!5Y^wnUqt<(fH)58vNKfuh)ZZfO@BYcnN9?4wHkMWTJ5^0e%DUlEo9 zk@t!u+w_c}BZxY_HfeyXTeB$f+_3LZ;M~}?eS!8Wi@j7?z@#9BTD#ug9$nHrk8@D`oJwV9p>KyGM0Xg1_ z`RPYNo8PUt48Z1SkdmKoP(E4fA}1qrmVRW*kCM?sr=(IP^Gt9C=*h_TZ70e&!~3h$ zjY_aozdX&juc_?@svc!uW@g)q_PFTWD8nj?6-COI>pgNhnG)r^e6$?4VX7*k zKFjC)HrYDE25pL?lh54iWNqxk3or%Y#mj;UxIyiP7}hS1KCY$M>+55nr7?n#n^qpJ zG;=mAYU#(0PhQ4Zd=> zdxQZy>SlC18$^A1_3GD|iNbPY2UedSJvMc4MdlJ(c*`Px^(u7*Y;tHN=ZgVK04JB9iyrr9;Nj}@aC41BGgMMyUjJo4h|0Q z@Kyrz^?x%n4vtX62ed?d$ zD(Hjt!^GU2ZaMR9EsCQU|wTDyDJHimLkm#Eb~Az$k|JGo8VHa;u>h4IkV#|P81n%$1yHvT%mWVU+{Xe*-H zdNn|YF$aYK;QAeQU=%~5pcqjK<1k86`K_>&#l*xc68JTL;hGAo`mcifZFlQQ$kSqP z|KhlO*|NRb?(+U$ba^LfriEL$)3Qd9TFF$mdayRVqm#d8X0M@2mmJ;{k1|J^-kG;6 znVpSE|6s*8E7jtR z2=0jAh?gaY(qPfOP5WW?+pVd;3@{*{=d37pL|1)e;OPtyhEX z@2~FEqqJwwhvNg7{a6qphuN}^}@Q-xPPU%9u2*)-G%C|BVR@%x6HUp|XugpC4^coB5th-(& zu8m^K2~;IEI^ZeVs7yaC?ntU>pfotdPn?_B6|E6=W_vOUO=f>S_B1qaJF9e|Y!)aX zI5M{?lND2!Quar=f*CAE1kh&rf>Y*Cw~1((6s+qgS#bZ{&1AY#OBtrxW}!V`!pZgN zXfI2&M8mQ?t-)JaG<}D*mX(#xD^m7IclD_@{*hM;MGzE)iR2p~P2A8U9K$U? zzI*fLw~yHgy4=U%6Q`VFqDni4mA+pMYj(>rmBnf9=Q_lih2rDOny-< z5KF2hJg>EN@;PZ^qo1y9ojCo;s|||gB0kYy>;!{xTD>z@zd?N>uFhO1{4e5HF#s z8#4!5OYZ2~;s1fhZ_R_-e*=d9387wn{$SJG-~Mm#>z}XtKOySBA?d$<@Gs%;f4t1U zft7nAm-vA5%mU4Q+hmRcP>#Mff|mJ5NSHDsI(`urZpm;0QjtVK98&!m_!pS5T~sir z3czPIknODKikt52VRPmrZfvp>)Z}8%k=Su1pxx!t=|ES&$5J9I9{89^tk#tZBYq`T zJK9qszva$mHP;bsFYo%(=-T0jQS*!Umhw;`-s*`5!yt|ArQ5;I)TNZPQ1VV03zdkKbZ5O|F*@IRoB-|p{mRmO zJX;nX&KIw@Du$*>LPhA3i)r$+?uj{04OP z4f{Q`;Ag_dm38GgdVoT;#CzEs{6bvQcfEMVp2roI`#V`2jh42y2Gr6h#8FN+b#;|7 z7bplG*Vij3p->P9g@DFn`Wie6VzFS6Kt6w8pnYyH*dr8>SPP8f-UCZxwQ4>O(k-JL zz!Y5>=@$P#P;&z~?002f^9WqebD)f$f<3n0^GU4`1))GG-rjDRR!6GBN z-ddfPo>+vRd)8g~TDf){iMvw4$3KI&Pa6y<1VBR7dP*rKe2aORk8!KBM|%%Um$1!Y zrIz>kvU~5|RDG#lFV>mu&0pA3+hVk#i0Yu9%J9liC`!J_$aUCKja06VjEr=zIjlnK z?eT!QP@`dJXh@GD>p&vW2M4K}?IpLa36KOrxp?u^`-^7=+)PGCM+tlY0&cy_vv{lp zDwaF3n0)gtMJw99%@>0c>r^>fKqXTnCgw%1NA5Q@Hs)@7y)j0ciAFo(X=pGrV84UP zhi!hx_U)lVV&Xq^EJnGf~}fqRg0cZ0Ilii>&IQ8uW>6_PDaoYnkPfO!xOVN@eb#>i*$EkM`rR0m zeCgkZi&JgJ-!7!l7Y0u7x^G|8h;J6X=V|Cj21#Tna$M2%TurQ_8CCR9{5^Osft}^6 z618^!)P#nDaZH@mX7AFs_I&YDHW-gS$9rH#CC+PFtb1M zF2)xqE6kZ!f-Wjms;0mHQbSuC74#TT^&CSGUhH41+j}at%yD3Lf}B?RP>TCjD(ol@ z;2ZCKU}?h2J7e;UeBwwv=Uh&CG<)6(pTbdDLh@`$Z#|5HVEY$&La88_u8}g%h1RMI z7cPXG(PeXI0jE*$I)2YD_AftIp$$x(xLAOXck7RfnNt8cFk$u{-;tm70~`kfh2>lt zM0a^uB}nqg<>i*X<(6ss)E;@5&I9k>Rcgp#8oMu_!@wpM76ld`AwU#g`uOYkl=x?v z1(|3r1Q~o%M`tai6F$uRf&vh2P5|Mk+t5v6=$(~zj69gCax&X&-|+_IlVl}od7V{y%QijwgdhLG^@8f?~U#+VnPS)qFx z_`5pzLTOP^8a&em%HKDLi5V$G8(>fsyOf=&ce%cGpr3v+i(&fiQ@!@WQZQ=SHI2Bo zD_5?VMqNV0%bv*J&}5ehD1VH+1U=Txi`a=KG*tM&bc8B--8~GAawLXC^R72F#VVsO z7Jiv1GnS64gXdKLo2uhV(GEeSWNtK1<%aDBf)9@+oL&y0dpLL^^EKO-!H-qn?fCZ@gOH!Kh%_M~68$pqa?$FT|k1%{4O&d-*mChqJoy*1RUU+o#r z;k=rOu`4$s_{b6uS`Yikrr?Wa{+#_eO>8Pxg|NY!a6QoQ`&E<(;V4KN@e!ijd=FOWlo~Pjk z1n&ybOeJ{cjKunv)3XzD=X0w(ZETY4jia7;GEOE9ty?1AqMg#%JflNi@*M?!0qz8S zS4TxSS!Y07mXuWg%iYMsy9HH;td2S@A90c#+F43XC(UBWQXjYQk&H z*x$5clnm&DK54Fqh9)?*^9P^LP)=v=d_&EnEIl3XDzz2)A7w6gDE$PFYhn7C^B8sr zE6emgvOM_OZoQSF$}JP3`OXYpo>kwQS@7jysJ%m;6M7e!cVf>QZt19@EmXV{S?wvX z)VA_Hjz_=(d$&r6!`D@PwF6KV9)L_nj@ShQd)tnfHiZ0*HRV?jLqgX_=i%O;v1|cD z8gWg;c``ld_VAI(c&*^~H=uQ4QVlAWPX@|soHg_u8px;f%inmiY)NU>mh_m&uqsUc zx0mYa7X~1X?0nDFZZ&oLur71g0AjIpQf9hCfOnN(bzY1Y{`b@>qO`*&<5A{aS^ zSy+uwI%1Fe*^!bW zv$rym2BcHQ8vCB=T`hsdyKDyD|38@HO1crXYeF<}#U>%XeSR3-24Nrn_~RCc*rl1r zjYdly{j|2PxvW)y4mS{hwZ%rNX_k;drmypL`>1BY07KBUAcKt!7A#{A21G8-RQw~o z2~b&CROg-giJWT&@#-zwX&xKR0}gKcC0x^?>ox4n_R9-UaJ#eG@{4tkrkl&}sr$;| z61}LOMklG7f?X{w_1!ZQid9>V#0z?)pVkOh2eBgJ>;_~fuc*ju)KR0OV*skIhx@Eq zy!yo)-rU6!qAK2rX!qJXymg|f=>G+c1{^-i;EBUhgN0EWLyQ5W-B@m(XoFf7O?fdlUDkrNadCaVK6QOiz*`IAeI<~aX) z4(;h#W;^@6eDfWigRZ%&*S$2!+DLeMjnbvk;O=x=@*B`qTZ|)xAV78h8XX(kjCQiY z2;Quw7cZ`3OFm!s76wHy>7FFD_h7^EO$V%a{-*5tfsH+TMG{L&+H>q0m)#PUf3#C> zcUSfEmm)3a`S11RF^|eFh>ej-vD*Fl`;}<#>qn5C2V` zqJB<3dscnYrz~DNV;+znS%8M2IasaIkay|wBLnQCaAg}vcaQHGND{vnme`o012)9C z*EBUQqRdhE*G}H&V`FYF8#dRfyz%|XWCwe5%=FqQjSTO?qfN5=>@wr^ z!(ZTTf18}XTX55aDHmNki1duokCfVl4am3=8K->seR1#Tl`3w9$P0t&8B5Q7Xylc^ z$nKVeC73E?c{y-mgno|KHD`p-RGh@TH*Z@_(6!5L#E>?XrP-mjBa4m~bxRt;p50+EvfysiO@43)D%9iKk}xl^vXJ)_{JWq94m& zb9D4TA2%RI)5Q6aqxP#jv7P62mP4c@K>3h-23x=Xpde4*_{XnLg|2G6<<`N(*zEh> zais@nNMZ*?4_QF$v>8>T2Jw9EiK`5wbq7>Q@*&lK^p6f;-?&>5vF~e3-a5~H5!cKK z^lg=E7A?<3;%S)jWPZfKZ82*cb0_p)9oYEjPsFWA&iyaMeW7)ME2r!$;CAq*&$1K$ z#M=p~OX)YrFDepk3JVG@L}zCU>VE5XjvRo}CkG�uSi{%92SgOaP6x5+apQc>GZCC zxR0dEc)o;sWtNn1QZz+dy1I61Oo2y|kbkbQs@QGd{+>v!ipE1ui;oVXIh889`r`v> z(IBUb7cVl}B_XZ;3t1;#B9Qd~)*D|n#oTX&>p3}rAf1RgVk{)_%6UgbWaQ7EQP9>s z1Ij*Cf~p(~nmu{|Gz~(1XCxy#P22;kJ~lhFpki?!+2w13RWq#P!P6&CJ{+&4{D>6O z>JUfIgwBZW6DnR`9(}a)0!EIt`BPx_5K4PHhneM8&Ewj?ry3ub``f?9$$yD@|07QR z>j(da^!?|B{0;p7Tvq5ik;8#-i68U%iBIFDu%H_Pqk5d*Oc6YuDy;7E@=OLH%K}8B zGQ%&{Q(=!7ARR<$Aw+r?rv+gP$h0(if6?n$&34fs#pzMH-dliCJvrgd97a~+8z&h> zMZ40QrOGJYb<;vWx=c*Tkt)n*kUxBS4M0Siz9v9PRl8YQf4kbTc&1ETVYs&(Dd*I_ zVWAtDGQr22IuL1_Tz_8h_V0Jcmvj1C(|k{BZ3>nk0Cl4YC%a^&(4fosL_o~5prKC` zF&-Y}-hbDdD~@k@Y`sUayn9!9Hxb=JM=~0kC&jXPqiaP=EK*gkKd(&z{> zL!k~uS2|LQ5SK~b-X^Hv0pRZ^B6z8afVE+D{Y2{JBL51irJs}2iGQhWWHKjqsc$Fa zrymwN7Qe!pj;3d3J|fqWVPX3$1_K|=-%@Rgv4#Y!^ioE|>80tC$q{%z&e+I-TLLF< z!ritez+g<2pxnV3!y8BAG!8VTV8R#Vx0gOLBd2b$?{cDGa`APW6Da_Lh_cb&6kLyX zE?tA?O7rOWC#%YHId=ri0-L(KEysCMqv{4nCkd`yGOo^L{V&6LC^iu@fx6sOha|8M z_!i;?bY&>fPQv$e<|GmWh`UA-s~hIzw4vCY4^Z7`iGyzMj~GK*+!P%5P!K_7I9bGp zC;k`m9%&8BIw-g{Y@!oxH`r-}xMWz)Kwd)M@feyqpL52b!a4!YMv3U!3(+FT%QTEc zU0#X=a?q)cwY;;CmmuJbqmf=hIFJf4oLW{KU6T*a?Ld#IF0cj?g9RyQefLH-OpR*S zLO*z$womRQFL|ue`7UD&lqR7cV~04>s9_L;{k;=xBPh5NhYpw+7vGi1m(t^8jos_X>V&A!$qu~j@ID7;iPM1#3=ZN=(+Z; zx=@XrvBrZPX`ysw#%^_|q<_ip8VxWgqkupF1K|khe0u3TL!ckM}o)M&^QKwp?v+$HDmmI*GL0*u_6FjA_h5E*Xg9Aef$`s zn>*}D(9#IkE(m@0FL1lT8E{hrUw<>xsKixp89(j04Xh+RHK57j!rGMN<&&@t+sgq= z!7c!IdRU+7Nu@qiz67^beeIyMEoLR$AtuJgIjRZ9M@oP&3k(tnJA_46;n43lD7zJv zlpK>x+nG;(w5`m790sX4%kfd)S1&h^K}>hRGPFk|;aCfE9S7`1(4`GcSSSvCRJ#kV zrKP3MZ`4k3f=!u1?}3{Feewx}7~)zK)ezHJF^=UUpU><4i$%nS-tcOd+0!2TLYM%H zF^^~y`!Er~Ojz%6P+>F$UkN&z!H18Rn{cXf4iG@(_({8~Lx0Mzw^Uz6Xzzx_*@tg5QT zH&v0KDuQm~)^>@%&cCTSXD1Nj&oB4g;aO5<4=V^|S z6;BtNbSxOu^cNTGd1}P-T86g^!{2d*6b4@gT_`u@ZOrhqva(F{?Ms3uBm9WGzMESF zNSK@kw0n^To5@A(dRwKJ&#=-DR0GBMgtzP`Tg)_;tR z<$+ttN2kFTc>+#Y?=jB4AoZ@PDG@hI`e`god3*&2TYu`Cg`~z&SkzcnyO0Rz9+B*H zusxS?>d~G(dmg(fkxnWUZ42uVwCj~qRAfB+VBtVc?HBEfC6*$H9e0Jgh!$A;?FCuS z2+13eX2iZUT(ip4B_yY?8rGhFuq7^M71{-_9#n)hVAxum`%_J4f)pzn_5mfonP=Ee zL{)uYo9Xvj8B{fTc*LJrtW(<1`<;&M3=S#^S{ZG`W)UrV%!v!Mh5Tll_TnSh}h;Bk^BcKF{ zErrF(=l7y#48nY(WN7?G({zUxkFtsi4T9i(hd7whpDWX}XK;K{ zKi<}laWyBAQ^P2(TSQjC6}Dg3`l)?C56{~58i&>O`?osS*i<{^_0Ny_4bVQw+z#}4j?i?$&f)XRG5Xu zE4MiQexQY7rCY??in;-TEOa;)P%#*Ui9gH9d4I;n;qaZ#c^6nf=5Ns(-(_flB!hIT z3ww&+c7}sHlskwMGBhWBd>O;1 zp~x6PaZOyscq0F*Oi2ZcDiI*Ko21_@7jn}!{lH$43*U9TczM2PEhi)X#VJ5vmUj`dj)uZ9+CYAk#_4^Vgq;(PZPYO5@;<%pL<-Xsrx6||wkB;Ow zk!V``A{1P-6?YW~J5F8O*CY*ECAwB=A~b5O_UJgTUTm_@$#qz8soKvKf>g*889*rJ z>7~HU*h;aXl@#o1SDCcUj5qs|7s85;A_xMXF1& znvT5SLTrAI`MMDUV1bzZ0vuUVp>iwCHDz%W{S;7a8mX_)o|W4V9f43U(35{8@?iw6q(#by6pn?}twWaJ=AoM)-o;=W-&j5!0Sf`>c)F8YwqcXx;Z!eJD;q zeU^5+9D|E22GX|YQM~D#P*O;;T?3Oy84|qsdXefxh<0t_t=1~r7Ndg{)j0Pvfst}K z0@@S)nM30aYM)b^1^rnmzqPB`fgj47Jm-GabF}XyOe+{QN3j(wn%9P3h-|UdxiN-h zMA0$L$Va6ZuK=p#GUCJ+e$vTdw6bXe-T8HMv-#!bHONebHW6Va+h;VD+fSx3?oknzP=XvpW zUQ=)OnZ4NEuSL!t*`HbHQv6Sk^%Yy+5@DWfwh9C82feK;on2fWY(X@XQK+y-*uMA0 zQR*_jtuR$i`})z|*AF6G( z;)X{*WE)|wrKP98p1S>;<+)YoebsWC7Sk{n_PhS*xx?My4QLp;8bgl;{Si*0bgkp@ z7zS6>slsCi>xg@}_`8u2L8n|4YfQC}(v?G$J?KgKK$0M3}52cq929Udn8u;MOZP1UhrYBNC7w|w;b zaTtPoY2P?=U>69g%({`xZ5+G2r8i#^2IP|?Hd*PqBVV`Rw(iT!YN6CO8P5sDQr}II zGc?Cfb2zNSoczMv&T}=%_5C}Vv{|IAsF9e1akZV@gRHfI`Wj@ypz~EeqJGQ)Pw%o@oGM0YYVH`+p$3P4a&ThZ zk{e@a-zD~0Z`#bv42hcnW0KUUU9alA-a-wqx1$N(INGMEqr>cyW#>th=!B`;3D%Gl9o5OhVm@E4A*}hvomjyo zH*llIQPjb$4ECN{Sjd2ZK*kglQ*C+^ z^v(5OeEe#U!?gN}q2mxFYFm4|P*4?sg?n#Jn0fiOr+R@WXn9c^U#Om138O1qa6lsH zbvkwNNLF}tu&#S=Sve7QY`EW@9qpxDMiZ0Y6xb1ZEplN_cbvzj*N;0?sQ1f^tJhrB zWmRI9RfNKEHe{(bn})PjE%u1HRtCxLw7j)2{3}Y`d(0Tn6+&9n;YZE z4)(Wm>{QL+5I|H5qdpfg%2@D6nPJW&j&R4gIV^Gt$lelRQS0H4eg=Q^4?c0O$VCXh z&|OBuNGu#WPxujl{rcZ-fG{ud;5EsVJ^)CM@fb#JfrFHCP5i%`HFkX$MWxyd83TxO ztfZT(P3-Cl(fM6=7cRi2Ri}9q$*Rq0w3ZUJ3JMC6j;=)|+$5qEUh)drVX$O-Vl*z{ z_isL5+YQcobEPK=Gh`~t)I;o^`Y1M=3MvH{tFrP4VF(;n&#UX#gS7=N;l#c+W=%$D z%YwDJKNb;L$cL+{stS|7zXGF^m85STQLslrAsKdG=)^83c%NMvP2RH4Fi`v9-gvAE zu;&{nKiY1zHYq~CmoR3sdn1c?XCYLXFeLA<@ly2ff*UI-^lo6FkfUL>rNeXwfBOiE&UIWO?NsR*}cbkS+ESur4UaR5OK{EuzYU$5l8=7m1 zxv>OcgJEw%N;4#^+YKBJ;d2SoOuECrd-yPaWofe>rQc~z}#DS!6l{jClZXFBWklPmw<0a57dTdsK?30q5 zjFy(A;YpHY&rW?Rjdl{{m=QE;h^|0Wj*FaO2@U46u)mJ8;jg>_xk`7rv&eLRjJ8=S z?dbxcTu=JKJ@c%~UGDF6e%}0vTF17R2+i3r&a#N#RoQgX#l_`a8D|&r>J97nVu-@= zOEuyJf(4e#OBgqy#>@`r__=DWYHhbJA`ID~k=X@y!7wymc-?~OVrY5UP9~x{=G=&} zL${fwC8OwaKNv=LL^L>Ee~JDO4>LhxcmBByjoNTG!B8Vo zu`f7q%z3$+)>SL9=i~FLs>z}Zd0K94G4cux&^n6YC;vR%%^)SJI8_{0?fzUd^A^3E zECF*Ce{MMv>omtls;jF>>a^B42S4D@ebN-@--DNseVNK!CBl) zU~Q~@uqMk-e>%^RD&^!|4p~B4;gCM@%jD6H1mrD`!ShpF%!r;fxO}i+u`kTzj+9?< z{q}Ng*<}vbEiY5x`SPCSve`ow9z^F(71nJg-N=$Q&?6%IG5kmdsr5 zS@Wv}W-R4we0FBNtfV{qu-@30)4N_43cAbe-knWaWl7!nMyd(yT!w!p?yTpIr4@-h z@G(`zmVp;=@+0LeCh}O%um#8_nTwxxkR6#U#fg{oZ+=nFCqD+D75ZV}*iE(R_+fh2 zyk1=e<;IYuLT&r=TLfP&;_z*v97A*eAkOyG_xYAnWSi?KGVc@Lvp(UckPUh}Yo`br zki>(`n&7IBIfiv7qe){b)Fw*97#*f^aCB9li4LB&c0*Vl^Q4y50g6@#WRqv@l6`_Vu zn|!k6$vZ4qxJ zQP$p8hgna!j>c7FW%b_4M|2OtLSGC}{;|w1&KdpAQj0TL4sViAww3D;$Ny>F0++k! zao}{BgnOJ83_YI14?$8@!;oE6hqaXGLSmK8d9p8q6q>lVfG0NN|F&em)Y~>E7H9W$ zH*_oqK7vOq)$7!6mI{|^Na7*yo6hj?d}%@_McQPMxI$PWvUBgm<_2x5%6*%d-fFa& z{TMa}pq0Q!YlUPa;Tt#rM7i4I>Za$pQo@0bZf^S69o?pXue3O4$bv|d5%n?S%;ir9bV zA^r1QCRn|!!LM~H?1$sCv!JCIYO|wig7aL#MCR%lyXu4Cb~xMwD=;nUB)>|9B_@t5DZ-LqWF%An3dm$(U* z+Qoai^Um>*6(W06DV&wlckUC<;~}i%75;67vputi&`yh=SPjkuIZubP;xmqQ4V}}! zdm_K3TXHqKXFu*^ad5zq8_pqM%I%ncx(C8V8p|l0u@K*eGBLmJr`2Y@C-{y_PfX2q zjK?lVGBI`{210iHC%9ie22Fv&aO-)_i(Am+?XmD0cYpQX#aL4eqhE_}lHy6qYKX!2Cobh&Nh&gkG|Z)RzOVRX6YfMLXVSel_w9wW9Y5+olO z@!#!*`vhQX`;ge$7K;tdt+GC~NlKQc3K7Ci^BceGL9Fta@m_9b+-WS!o|_U@eDjf) zTO-eSMSovZB&{OAvE;69(q_-f+zX704VY!f@boaMqkN|M>KFHqXb%@@#w;3sLE~ac zrxRsG#+I&Lk#0B2&d3V=`uVWM&ubjhxYa=v6NZ+OHRT*YMPIn@dRpe3;&}ogDYcGw zvQ3hQ%a-T8u`GJDpU?W0ETB+W4=kmmROFiAywOlLIoWL7-_WFW7w@hF**?nA&Ed97%;}>9 za_tWu4qu|(x9QziQE6J3oZ+i@ub*LFo^j+!FgSankc>={Dq}wOY4)Y75n3J(3%z!B zJSk_i#^(-c&u1F))?Yf^$ussQR4~+BfFpTB)bT;w#h{(%9`9ceo)&Y`bK8w_ZZW!V zE*oj%nIa^~9$%%oVyq#cK5aSuI^F6C*H>K)A$v!ST-SlxOMXUgUgVp;RdUApgZ+FM zx%8*k839+=KUnnNy!xbFR+}P5nqk4 z^^3&1ulJ(=&GM?rs9iGZ(0uaN(vG#F;a2QV*&7k`Sb?MUO|Ca$xBc7b4Cmz%h+1Oy z`GSm3d5C4$x1N~NF*Iyn&aa8?#bcD$mr*9YFI?C}A-V2O|?}j0>YN#@y0QglV<9j)~FI zRD|g+zaqDygA~TX@}{Q~M$J=6-Ne({ZbJDgo) z++dJDC-lF)!&x2dllT`bN1DXf2)8}iNZa{fLMxcwjF{>#;Wt^N37 zxJpqGEp2b&icC*VT7(ICKHAjY#L^Uf{OeV2qpPO;Jc1miycix1K7KQP4r3luUJiZ% zQzIc>K>==FGvmJvC1>aCVq|B6L570CIW1uvQ~qmaeB46D9NdD&+#Gy7JOUiXSBZsY z;0CY(OFL70cjte8rEY19QFAduR z3LJlfYz!Kf1EMuTG!+Io{v1|=mU6-vx!60Y+uPfSFd>s-MDF~@*NR|JrbaGC(nc;A z7?hir56#Vs=DDiQ!-u}gjppa);O0kj|LuBvQ%kdZ|L$tUd>Dm)Z~9G3XL$a-hix{?{0xX_5no3!OhF@Pmu{Sas9biF2rN}wOV1W{~-_I;|u=gV&J~t zpMmQFPssHTSNNyA5U2Bh@%86E{9k+m4E^7S{73TruekmzuK!2^|Ix+&)vo`F>pzmf ze{}JGwd?s3YXR7d2V2@W~$zH?^EmD3V6x zA6B#dYg70T&qYpA25%ml_zb;}?ky%D2N+Ru(h}+(Bj3j?ZD{9=#12|z8A}M zF(%z6alkhD6{anou1$$;Q0a`IWo(rl&5N5VFSx?L$sDn&;LJx*5UWfMzQolfcRZb{ zXwy<`v-`-TB}Tfr*hcT=&G6~UZJ*C89f$h!VjH8g=N~`5$=R}shp+7%eeYYMIsZoT z9MxC>UJ9!uiR5Eu`~Z|Hc}&|ZV;e6)5O(PA*Og?}aBeE1N6dc&Nn(Yki>s28UljbA z&WK9KmwT+jP7$NPa?T^{_*x6O%j5(%vw9z4&QV01OlKX(uS=&7U?d>J!D=!-6(${! zmhgMbco&os^J!L!2>2%8Mc|9x1xEaUE$marukPEg+`ccmpyzSua8$b_;xWPcOvf*6 zjVZy{7IAVMeAaI;OHDTE<5y{(X^9qjobUr(fu<40<15oKavjW!U!Bhl;QStwL;l(| z;%<@qKWmP30O!^YhZT(VAd(inH_fm`2%*Q!KH6 zJZ83x>lAlb!c(>NsMIA%RKOj!p@0F^=qX_i+C-0;8_Y@?OnKW!1$YyQPKSLcjrd+n z6sH#4RBKnOHu$J&d9=Y4OC*+t<8|oD1mHVdd_iYuB9 zX7kfigg5bXIFDLPHN3^u$WIotUr1JxBA3x*kH0o}dGyzQg==5~ z_tK0cXwpV*P7Xl;WBuy3iH(iTc)_K!G7`e{Axc?+AlU{(ao$AJb64_+oLfRSl4Wic zF2mElyX`$MJRelae9!fhIa7>b=b$kEJ5%02wBpaposN{9$%~f15+}(`rQ2QePOW8b zV{O+P=ImUcR=&AwyA&pEtYn*fydC{k{dT{iqocV#2{bo1$K1+f3}?#IU~5y6z&y2< z)qTzWxO46l5$>Fet=Qb8wLlWq7pkomM((=%up4pxyEYHyS;>v(Yg$N|$qCvkm4*k{ za`VreI@P_eN~uhM8%S8C=jz208-{uPg7-831x{0n#HF$ts{v>4&0jS3ahSv--p^Od z9`>VC+Z_|z9zBS=nV(wOcX`wkQ|1cF`b_LGGe;|bW|fHR9=jAKF70;7C*6YOIa=?N zQ?hew$=)4j6czJL$~w%Qb?w}D*JqXfm)jRj%qcu^(yD5Dn#bQDI)1C2$+@z8uoXSX zaDroBO#B~q!K9rtIIunD&Oq<;v-@0#YLWtr@Q+Uy-X0z9t?sy9Z>Btr7<6|e2_5>u zT&kb1l9UnF-O8~K3we-zB<>bSL1os?_kic#->%}k7na?x8;!_ zd*6+u*Eu->{Z>syCe4p-GQT3KG1wa!beQitZ_0ZPjNrMDTaXNYGE3~>^7Q&n-nd^DwtcoV(|y0)1iyyi67$uY+^Jj~92}Z8p8TMLwd+y# z^@iM&%M}x{eANBpCMClTll54_2S0n)JZnCgm1vfj5eIVp_IJkMHRqR>8q2H)%{C9? z_J78yWhtd)XaAw6rw5aLpC%Oo>M-uP#37xbI%Fe2E9^lQLP95b=g!&UVRqlW(TVAq zXtCOiS;Mu9zun(G9&T=bgM-DpU>idf_6)-Gq_u~eg`oJfV!pK76MkZcYoteHckbK) zX8{Yw(Z4r)mWYUmJ%6&=bxFhK%iB}wtX6)6A&nlJ{dXx#-;>e{hXx1Zq69Ut_P)j{ zclGvOT^)5nC-1B^lJfBK-c}`cnCnO$Dz~Kx4hdQRNMnyeZLLm36VnJx{@Pp`nfR6t z%ZV2K#VVQBl_%y0(&iHsv~HdaBo(dCluwBN8SQ19#6?aZ7((o)d?7Uch2j3E%OtR zkc_YMe)d`$gXtW8RX)U_R7m&8NI3YWi*(-ARaI->OFG}1@=n1F6DyKfbSms*%*`)#q>72zz8FX5 z^i%nWJk{^;+HVEm$eEfldiQHF7s4hYB3({Ode8au_yPW=ykRrV(KDNa2F+`0Ywv9Q zB!baw;Q}f8#^oRb%YU30Y|?IkF+0!YjEvbTU(dWe~kNVRVEpa z@ero}K2k=QrIak`<0IlN%8;kA6c8sx{AqJ@)56wP@5kmZkV-~I#)+fd)T1zi!ygG7 zZoQ_X<+eKm6}3SI`_q)YxDzGjolFUBM&91fk9rUr>`telqiX`eMT&TB)!S8AcTOp? z#0uT}@%3HM_({UrOj%jkwH|pcqrI)=p%U|G3UB!krrg!*-aBihB09vx#E4$P3b@he z@Z{_6(<5cph)podRb@_P_Qpx@JK|gOCbBQZsI|SsZSGmk`7lWnCJnKrtGgQu#Z4Xc z*7pGYTq$d-wkPcqiiJ2(BSe8P!2jE~Z*pl`bccC|B8dvq$?oF~U0q#yZ8;Ub1rP3G9lbya0$(#I{#u=k*) zZ|-fF?GL9OoWsS%1yc*$+Hymjp!TDk4)@wXFoR0=59JjVGuJ0}NgmQ&4{l4~nyH>R z;4Cnxd*~tjkgIkFyHj|BXr*$FKJwwijz!7+$%eq*_^Gw2Mhgpz`oX$G*L=MEni{$! z0oxwWd>XI|P+8;76cHh(ub&=Ucr3V3BQ|4g%|=UtCwt?D5g&D%+sbp7UAtL&alO)6!CQj%k~*y{#@_Y z-sc4@btGS3KUno+089ibnX`iyar%lsGBV<@HYqW*?511mU1@V}D|@5`ym%n&(7T^K z^6sVVRvtADQZ849k3!7h)fmn%#1gdPDZN*C5fwGQ zn$&J#ZJp$7XwX7UL$lterfhU{c<@F$KeTy9$oU&lxy>+kLR(M>gD;h5jqgIodd<1O z2LFx@CE>mAB_lFr)M&&c&UK3Ju_K=4Q!!CQQ~IX5-dhJOjoh>8tW0sYu>1!I_ogGb z(yOa!l9Q9)&ZT&DjgO0(tleq+sr}VpDRfVP%@g%?Q_MMe5AGNl6bh!G~W#RNd zp+R)&{?|($u)hx9KA#ib>{EkPHb(pYynwj(YPaS0DI#8_wuse7iyaD$d##GV^h*LX5_^k&l zBC-|xl?Dp*B2M6uO#YZ{^Vnz?EGswRrgGR>o097^TUuEGi_xs}tq}+^oQ}#&NujqH zEhmO3KJjGs-SFy36utMFgl?TLo!H)RCpSm|BnsAcZs{<|dAP-GRWk&$b>BDd`Mo@|uUR$9!7Ii@~M!UrU8Ei~YIsVmktS zd=PNO<1w1~8tQlN&XjbD_EID*E-XkG7%(9FjDk@2IzM0L?p?~mo#-PfL@ga>ThF3c zz1AG=cBk7y0?bxPcNh z549KiCcPH>E_*`+4sM*Phc$%IU3Y_N7=kIi&dqIH_1(U1Ta+!Iz?qhng$Em1kJwFl zxc~%m*edTyvn5J6Ndtne}=b0k9TJjagyWMe=gHvG9DI3ag3r{<{W> z)$O-lkenn5X&icEbRxxPORH~iaHd)8kO#~MjBm=Vy6k)_X96KhtYt&U$Ih+o^h165 zWDze48bP}cAERi>4xSEGDyvqQ=#2OJHbNn?8wu}B2Hs?e9kGt1^;b?24s%@^n5x}d zNfH=xb9bNlxzKyox!2Ux6sMRSBAFCnS$liC$6T^|Y4@2$d-3Fr@&5iG@ZyY#3QqG^ z5!hw9QoSn5@e?+39}J6Y+;`75|HM`5sOkKQ@c{NVk6#N}Q=6Ve)`Og&bzIAnqo53+ z|Da$V_KXKQbN1N6+((-R^=0mqx4-;(U7!P2BnOfEon2cN&O z?0q$QMNL_`GZM4YKm(rDI}ZVqtIJ3^>Yhq37cFFO_GO1`C_x*zP*4Ps@ORw<^4J`VU$mhZpQb2DRSj zT1-!;smzxLU-p9~Xn%5rP=thWF!Vd#Yj^BPZa#iV+_Jj7EW?{9Eks+pKsMzeOcLAj zvMejC&yUs0+IntQ(26(FVfP1yWBzb|POKT+qtN9yx#tJXN~XHfq!5&Mj9l8;RLP6X z+Mj8;_M!as3vY;~nm2JguB{dQxxJkMxm01z7Bv!{q?uH=QUEJoxbg6XCi^rD0a@D! z{=~(z-X|rxG*S`a+1hgGdrY0Q)%+^YRr6rg?`Y5CaCfe(>s)m6I)Wl#X8{oo)%sk= z#lv%){_w~5p`sJEwzl{<*i`4vCGzaV7pRN^GLU=x#(qMyufN}tZMZ`{czj$R0f;)~ zHuuNunn8I%ugjy(Tv9?T6hR<367{t{dypTp5TD9_DeiXFw~he<753rE>LH2P{uHSr z2pMstMVbmaPZ#|T=ls@`kA5oeOp*G9!kVgAs&ey`l#i~@FFLId$g(+djhdUD#v#>OC1NOHPk?plU%#aL{fGR|b=xC)fB5>D^Ci?7G#p&>2n=UF&r8xrB?QC z$gtgSH*1Xc+n)*Nnp^12Qe~$AFS6c!gW-H^i^6WL0!v`Ugf9Ru>@ex+hwe`8UTb$! zFXoV(SXo$TxWV9~Ufyc65FoxNY(ekcGhQJ7Zwici{1Od42TLKls`@5>;6Z= zYF)nI%hw?GwQJgy5y_`jxaVvYh;~?;ntpxd>I53p*Vp$XXg+L0XJq_Ux}9}Zr_#2U zqY!Ou@UkEuAEFvE6nL~V^wl3n%SskyzG`=1k9R2Vy13h64W^~Ob?+h$H@-PX}T@*BxC$cS2a)m6@!u_d)bHqu~R^dcwc z77eFJYFY(296$?zDu-?2|IFUal$Z7L3JPSUq#EA^QPt>21DssG_AayL8N1Z%6GQ?) z@PONbbW%c5k=RCHl#Z)Vzc2(SEBF(V<{!Jl)9XTWJHJVXFTgWOGo5;?%LyqJygxv1 zM9J_q4i7%MWF@?eZv2qOv;&UQVNW(kiV%{cvNTDWDNO{o-;@`u=}Wg!r)Ld4ORU_| z0%S_goNRyQ|5$H%%z0BgAu|9rFz#f=^~

    j4?MADj%Ibma%-bD*4G{LJ_`~$m)gn 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
      pn|T`S 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

      jT5<`$8>f^#KphFjp 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℞}FgX*Tsg@SBxT;V>qn=D^L{ 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

      0cm3(;vBZ*2%k4q_cGA zeQ3Lkn7P*ZpTb4fGuX7LK|sUacaf4ebucGiRY%>!8Rw6fG<-$T0sY-jcAUXyK@96( zv}oaYG@&Bs@+Nr7yEl5|tgM&Aruyk)X=02&D(dr1@>|@-{k(zX9$&9{!MBa4R#&&w z+F}o&-j`j>esaxqn;!LN$TmAcU+>KOi7w}?Da_?ROXB$O6{hjpRC(OoBS$wZeLla9 z58{dYayFW{CY7VMo-pDoLLKTpnR5{dJ|5(I?XOO%gi?YEks$T~>@lVc+tVT1g<Xf<+gttM)?%}7?Kl(U1cO;_D zADUOl6Z^h_RG`2McnJwagZv3wUt1I-C~1ocUMnsy07fZ?-7V^CyMej(xhsgS-OD8v z^N(+FVg+&EG?nE2%IqZcaSr*cAw5-gk+_v0t?{}uSQa9K;p7r@K`5{%o z8%9#vvH^v)(41_~QgP}I!v+dQ&-z}C_bek@yeku@vk#_UZ=@-A^!Z(0Pc0JIB zE`a2kyZ(l=ayG|WT>V0v5Ww`bs}-Ax@00;%ORMmRe#%cZy3 z6MxAk^{e*A$eTsrxmdL&Z|apT*aRrqhU5|TZT=9PEcaC+h-0E+XhF=Su>8Ok6V?yyCKlgqD6|IM1iu^E zL{f+I0iAM=S68ZeNX$$p`?J{()Mfyj(#LFgVS?pFiFk+;E_aK^_lhUgKvxVUm|D*L zvpf9P!9DHdXrB`*@kE5lu6rAG4Ia(4KYLL|#acQ##Uc>JsJ@vQ3SoeSTHEdg|6X=pxfk^_!nnO~XshG9+C(CyXq(hZ4TBn}AB2{pAo-e)ss-#$<-eUi117v2|!0~4A z+ZQ1anpOsF6y3$%nsQ9dKU?|@auwmn?&_t?CM~IWg%ZCzN~D?YDrU5OL6Sh>X;vs0 zePgXhy{(Hd-Ew%|O|x%c&Ra7TK&uc|VRaIn zENnWX^YS9@a6Cm&As;s@aIaSvPmgbJs21+CnxFKEC-WS!ZoBc8q|@_tU;nVwtJ83Jz)p?*mw9oG=zZjMVmJEtFnE<6a=ra z#E`?%zxxLOF*WtiTK`tc_T8>};U}`ZBeS1F6{^{IWRi-dhG>3qrKF{sIlnL=VzA5{ zs003=Zq%<6osW1gK7-zv8DH3}I0Mo@@QjSXxmU7pvt&QrWp8WvZg&mcp#j9*cfGi} z?QZZQXeW!s+*&P>AA2DqUW;|CJxiU6z=a$@lYQYIZT!xY`7_IGQ`}vDNiG(q1k@(Y zMO2V8jFKLIz)O>(Sl#Im>FE1lBL7>~VaL0e0PKw7i?A3f6^Ax?vvh>vwpn5FFAs;! zROIU-G^VAXvhiVfQ#x+*hi#jTl?RR_fBWOnF<>tAw)6w8!}G_-UQb5|;{xZVwjP#U zJ>1_#OuqXP7zTVHURt*K5G1Tbpot{Kkk9XYDc^ZH7mxM`yN9>e@|NZ4w)IKjUv9Kd z$jF11vWfNCF@2BpcNn9WnS9acy^HvInO{kGaWceK)cYHzVpd)>xl=Bv70Z)N+%O3V zvZ}CN2JE(U8FainilEUT@b%RfO^@$^D}5nqf)6t^&bow-9L773{q`l3kz%;hXRHJ zr$u&JGv1?Z_s@%5*RbFhQiRCkRnVFn7cCIfrZy4`d$`PggE#yO?5hGBCnd4OrC`TR z!;J-L$5mWht@{y(01Z5s&iu?aaEMNThA?Nzjo>d_SI23t2PiW!G_m#E?0~d(yjTSs z8itAkcb|B(CLj0G8Z1)!ZN&nj9XR3q%Gu}_>zvd}2#Wc#u-&p&f>%`iV%%`4tSAUX zyF|#PjX;u9mJK1>DeK=tE~#_>Ne_Od)n-=LSkyGo=~FVXPMZ>Zy+=&V&h*#iy!&zU za&}@pd*~9H7Xuu5*0#2n>xg9JXfS}b{m&neWZYNmT$Z(U;NdDp@a8?xVZ{*`mHK~Q z{}zU>tA$a^57$Oelg^sYv3J^a1o7w7qgW=!=vn~`l=Skt&dw+-ECh+inVo{_&jXTMnqUv3T&qI2TYc2}X$U~RbIXc=Ahw&T$#ZpmMH*NSZ z%4pXK&AQn|H!boB;yV7I_R$bUWG?-gu=6A$u*q z+jzI1cD}}e8W_v6ww~go{ejPgrWA4$CyFIOaW++&f16+^My#7_pIAF3_1;Id50esP zLWL=`(PSq0*-D2mX`&(!9$msjtQVNyRN_@sdqZL;ri;Evd#>ZB8UmcVGWC>03E}AY~p7KjWE5(B1w?xAB2Rgz}pUUbfCCUK0M#sR+ zPuL94V-5-IDPq)8s*zr6Smqt{C%oR#1wFEW;B8faiaacHfWFc^FOBLFUz7m+UV~eM z(L%^jhU{0-A=LHLhV%a&7fbj2mG5-XUWF_5kd!=x zXxd&M%u?I!xVF}*$44uHKp$6D1mBL9AiYl24zj?mVk!h#w70TepNJP>0 zY51uWpNTUJ?Cs%cuQJOfnMg5Qcni=h7G3}XvwoFihd$758iBGeoR%v}4exZ2yu zc3sj5TR~WoDE^9#OT&&|UENdn-?qsv4@v}@uQm}67!eDJ0vhmM)~6o-B=o5l54qS$ z8GT1!11zXn#r1opgsz|Yur0)6;|qc!$A#wyag`ahZxDzx*PpJ9qyZQhK!@KpjcbJ0z-pQa|k$;;yg_!)(9#jb_Y(z7H-neVlN~6_A}PkXf2yl;(_f>X zCkAv72C*&p@A9$uyz86p-s3=&tL?SrQAI9hK>6yMKzTIpJF{TFCjt?03D8bb7u>n3@*x-VGkh))(1>0{69| zPue<|{z=3k`)~8pPZr_?{J5E7sVa9k1gf72;;7kK+b?mtUdy_I*n`S6syNuWrQ6nu z1P-7_*T`qBcW9YwpK%+%NN=UIOG(WpOxw%i1{zz)g6MYKg9tu>G`5h4PZJ}JB2>s@ zccdqNP2ETNPvc0gn3dJl`5$}kst@2fRyq(wf}LDkL~)(?(^bnbD!1d(%L8ge(})J4 zqdPmeMKMmT-dhEe<^)C&)Dz0RkVKDsQO%0lw%I-ht8-T4+x7WhMMoh^XmUtNCR$I1RfoqC1O{5rwCM$C1N$nRnwvv z;{4)WK~&Ppj~$&PFyAIgHe7+Ygf{cm-x*4cWe86L#p{dJo3S99Rq`d&KOKA)8=!0Pou;?3UD5Ak&YVp`!-V^ zmf;g{06_Pr?1G%tbARP)4?REfTDjt54jz&57fdgN3V7d#-L9R{M2aG;^76`mt6f)Z zNQgug2vYc}qv~xkO(I3=6_<1d_nZZ6?Jj398mtC8`64&cj~y%uf)893>X{;sz1f!v zzT1n?gggH_Q#VBf-(+(LBCBp1wCT@JtktXUTmNM!9$y-OxGz^ldgaPMZd3?2*!^k5iJ(>Ypq9nD7J4U4Y|eZB_&tHHY)-nR4I@n=;9WB#hi9 zn=(&5UtK~nq8T*l3SvW8bhZwA_hU*5er4y!Bq{Y60a9NG)0laKb_U-S=~?qOoO>2F z9K~s4gPcXh@~P9IOPhIx3~#Z4ZS0j!nzj;5%^!#EJ;a{Q{iooO-9Wg-pZURiBX!vN zg@MW}6`{0|kiaR|l=Rd=bTP2>PgRT(C}BTeem%J&hF08rKCu<%renl~;0*kGTdBIu znRUYNVG&|2yWSQjF&+kc)+)HSUUiQ}k>>(kbbCR0?r)^NLzVX;Z6zJpa@0O<3O3~) zrBmv=R5EyBEo*gu0A)(VBeF{99ksTmT^SZaegktq^$)Q}(mS9Glttew{c(qa13qi} zs^%~sP0|QvBVW4$2)~h<+IYs#H=xTZJ?2Lk?mp7^yzakZTV!Ej4sz*yFrl*8mDEZD zrpXZQ=io`-tny)O93Vp0zgwn}lJP5l45VC$D;Y()9c4tvd$-_T`Z2q3z#TMcV&#}B z^0E@I+vbuOx*h&JQ}u%L?t*tWROFG9)M6YPB|C}i67lWKcXQuocX4{g{*vg&idcWV1K!OI1~Znq_flif82=ybf;YU&)j z7q^xv6r!oa#dV)pt}_E9NKBDu;e<;~UH*Q%xAU%Xktegaga<%98>hW7B{6akzPO0K zyomNq5P1t{y;|GP$|sAyUw+%`>P3Ym^*AsLgHB8k?_0=mLBlf&{lj&g(}v?J%Me({iVnHK&yJvEn<$Q z993F>seDeqX)g-l3FCPL&met zeWBm7lmAY5vUmGSRQ`D0>8ZkGZ+;toTpJJjyCX9mT}E%Za8d|~8B_JYaaI%LZI{nyRO%K_F`x|x0~3AJ8&8Z@r}Cjtz_ z_RFJVV9iUdG*GN!XyU`D8Pa@7l=@VXuVmdDOahMfQ9R>oQWc7A$+(J zhT)j8n_#m4_X50MK>}#RK*m+3zb28D=)}b=#n>E8+J{7gZzq+cetdGGrmaqfK;7CT zA2;94ni&tkiHp)iEOj)>Hmy>~4}$nyA_5B~dg*JG=sOiE(PxwZbT7D%f>Y_s-(Y%% zgR@5IcytR6oX;7t z;}wg7Lhi~zg#{4w;7qRP=jL!v&sfB8-ExEXTTWc8DTG3AXx4$1_d5;X58BZo1B$jz za%YM8E`^2Aza0Spgyuh4U3&;=k0V&%eQ=8_Y?+l+XdDiQq2Q8;-F(7BTQZ*m4(qRo z)>&@Fv!V>imG3vMG*>(1EAUQ-wsUle8i=;3cmMtTYHfX1-Ov(x?D1Q6A}2yrdVKQv znvNiHNVnB3FdV;X=1>}M55J|+D^k6qxA$7G>{#a;T%}o^LLzQ?xow`>aMyiu*Fb)> zpqL@GPMaRU-UUvA_=gsEfGh^Ak`<=Y%xmobk$0XeMV3BCzis(`;|0ag@U7Y6Gw9_( zU>QjCeP3X*-}+eXcc$KVUOj(uY87~%CVOL_ji0?2?f!F(lgy$=uD}6w$tYL+yRq{L zFYeU;_t*cf^U1XV@5wz#QJ-jaVmPG5MOxX55hNf59%`wtRyrnG8M0G>JxDf0! zxv(ha0w0B6y-Yast5sGNbZIEcAJyWt%UG4!Ci^m#IhUX&$zUiI9{{dUcVTYz`mOp9 zAsxZ+MSIDJ)V~arV8zq9faQ@-0R=^yI{Nk4e~C5Yg(y|I9kk2Dw%|e`RHZmA!pg+j zx!uKxf&Eg+Oz}Y9bl7jmqRPjaks<2T##m`^PON$sdXw=(XWeqGKU0lJfg>pS!Yw2U z1{b9;L#LS#ETy|hg=D>L714dATgJ%9bGChfl+O(~_RcCBe1Qv+N8Qh3&A{KCfo;#m z31#K|D~{4z0raKhw>uL}T#lYO^c{BN%H|l%<6AA{BtI{`XwyE3D}_ur029XPI+8zZ zuLKez0~$2r!-60hLyFTIQ*tHD=C=Yd#^e!?ez0dc7b$r@R)?zrVcT^zPgbK6crYh& zDVo>Atg`Zf)FsgiF{bpHlP2PP0i6A^|LvS}dgb#{>-7Nf#mn75UP9!)=cQYDFBr*v zcHhJE_f-l)C{BS}r2jhqeQrSIyD zf|I7`L`Iy^cT&+&4oF^~F1(71sikp_A`y^&=Hn`lcuxhA^jhJjS(~NbG)>e!Z#lM~ zuYbsJzZd-+Nr9@3q(#A6-qfI8gtJJ%Fd6fza1~1~9gXJ>UBMF@=9@ z^8%Jn`?F`A=h3QX4h4}H>aKsNUFOGBN{=aHb_d12NAX^d#lj=U`0HCTlY#@$La*-w z9Ng|}Bp;IKhc|v7L;}$)S%;C>1*0-1wxKH3sjP4nvFZR-BomrVCC$bRF}4L{bPb1J zME{hjhZ7CqA{qXr zTh2P53j5A`Z-2i;U99wm(dQc#A84^y9d&vA&(;kOOLb?bgfA~G(y_~@(jKYcdMP&Z zI4+8b@Ah9KetK|!&(ksyJlPxuB^1n;auP_*#090HwH4%J_$x)k!r!g?Vs3NQL z!x8a*A>aXwF{9FPMkrB!LVZqWD&8nx#I)aq+i&?|xu&%qbE^k7B3Y#=vTLPEnTmy+ z4Kg4REm5~#Fne6*0`3(=#>zm>J^!l1cooYno3DxPCVkdjEy}qf-wpz zFRz?x#%QThm2&}RbP2ws@=t+VGrKYo;65A{8l|W)K;Qs0kI+5psLLfwyASH0%uDP+ zBj!_^#2a2`=Mo<7j-p+XykJeu4_k;feYXhCM9jG7#=uSc^Y6RlaH1S69A?}X(dg$( zBn`8Opsxu|z&S!R8yuyWnkqrxHZov*&A$rb6n!pB*Eg z+Ke}BIuM*Byz?fKe9VuAP>7~}@-r5~`U^MZk8P&VB+X7cj!T{>RxyRU9p!3@fNmQrbSNYoOQ(_l^Q{J7^}k!PcfnWti)P>i6urc>JI zQJ$7o8(@X!K_VZ;{kL67&D?DWH6R?Y1NH$IXkcVZB-(<$mh;YjZ!$O5;wZ8_MZT(x z4smbW*q?3VtE+l0owrPM@@o<_rHZ(OSB@$mey<;&G?IW~-BvYIWYk=S`obBHES=FL zt_~l}+#|QjwvA^91E2eTrm+^Jc+IqSzBagY0S}p;JaXuS#bAG?ZX<_pX=_5gf3C!H znNe_t4d!DEH6OxpK10CYbk^OJ$?|v)c#j(b8=};MJ zy|+Qn@N05XF~S4)1tZj6i;#gdGt&@ARp)8L(>XD}_G#iz=ZNea&40wh-ydVr9lySY zt0)Qn&)ss>gDGr_%3^f5K8OSd?>T+m+npI4&E9G^d~DY~uz8mO121yBlrMPBkk#dt z7_2R49yr_!SvDy#Td4HkUIJ@E(jyPuS(Iq#--JwhOrv&Use&KM7S{)*2=Fny4K-8J z2GLKGoXx4Br3X^cf&{UJ?0pmOc1PmeDu!iJLUG>6Jncx0mz_86yeIfvy`N@|e_zYG zPQHV+XCwIWt_F+p9ZZ2#D6O1QIs>0PW3BN>=m}GtN=b7@zx)HHmNcI)b)o|L#z(?Yhow_jjTlpX4y#S+ZY9rlf@veM5P9yg9x*>)7}5 z-56ic1r!w`6&o(XRsZ)E+!S+!+Wa}3GhCmjXM=d7pka(GVFiv9XcaF0h-6+r!jmiQ zxB8`T$uxJSF@0k24SZ5PKv#*t@Coh+$`?#)Aj)4KexxH2y<|Bk9^K_1RRZvYTfByB zC!9Q-k^63FLD*~Z(c?Er8&{$6A%gSIJ?AeJD4}d&H#f{gH+Z@Gj(5}f*PcT9K8GJ` zbvZ#`K-vpNf=M|Y-#G<(uf`P{f_xiv{!KjRU*7?LXD4sAzftZX*S@3O+3@Zr&H01uCoX8NYyOGB&TUHggI1m`D{LAYHDl!CPW$k=}M%Tq6K3c{#{WdVWmd<+PZcY@Kam3x?hI1D`LN8?wDIw zL9ycTL?>nQ^=U)0V)<|O^AW3&lch>Q9b9hD4uja^LX{3nt|Ra~2;y<>M~j**R|84z z*?4BZ*$$4D#zP0)aA(P`eZiXoAUJH;3E~6Sot_xP@O_eUf}%C*LGjR8#<0H*GRp zu0ob3=Dqp1;CNu-;;riN$S`jfi2gd@TJ zD#h|p$wL>wB~=cGCRsOU`LR;J)4Fg4!oe*Rd7gZL;n5F;h=h$q4jP}|9(AM_#Yq{i zP zaRmw;luNoD;I5{@-mF065Z1)6UJ4YlvT>#n2n<@5C*%ZQOSyeCX~%8ovm8KJ9&t21 zm8yST-4?^UR((OcxTP$_KD)dqMt?@`hNNYaitjtkXzC<7rfk()bXgn^dnE>y#Ou~` z^eeF8-diNe*{5QChv{}nS!Eh?!Cmk*VLhdmYkB8c$#IgNndb-%|HEAOd6->m;@K&l zYi#)p11m~Fkx{3sR?0r%3&U9Ro)$u2fUY#62ow7#PJuFgvpHdA`txEzjX8*N>*p=m?Tx&%yrlp&zG)bvD(TqI8BZ8ULw88L@t= zo8_@O#+>0AK zwYsHHRijJVTzHDp-J{z?hm>yFOV3(MqPt?M1+!b@u<~PxaW|ORze+W&Jpnhk#yno)|-whoS zDvWEKs(Wre8WP~CeekPKSt>P_)s!6z+^@|fo`|#|Gjct_*+-~QQBI`nK+&>GhgQjW zcFOJW=h#wzMxkIM0xpxv^`=~5*xH((3pKyZf+Av&EDq2gn+-$bm|#{560`kt)GHi@ zNSZcVSpbd*EfQ?hx^uv8p^3iN1x?n|-c^5}Fqzwdx03)#LcXFy)GspMjYa1qs~IM$ zaYr`3$}%9ALe7-vwkInif$IdT2iOUvl{SN|}}|$DK;5 z3?av~@kqId3Ho5?bRs6W7u$Y&+?vMe-MM2kLJY(NE9U~`xiR4A*>2(XSW8i_lPJ_S zGxE*^w(r2_SuD%b#41xI_K0F7jm{mL6lptaR~RvYmL}JQt^_Y%jiit}$ztdjDwTO5 zo8LZ72TA|-JQtE}(58r@GS%Vyg|Xoyu%@5vSk)z3 zqAXfPfOmUl#1&S~FPG8~qk1s(*D&P;wf697u^ zv@|upnVPN?al;lW597Z+Pa^xr=vT>fZNQ>6K+qZB$({}*W0f6tFHJxio6RiKZsJ^^ z+G;z6_g=0eSR+uqyKDH_=AQFCR5!o5?y|k-aJN*0PCxg!d zFiJXdX+P2V<=FAd>mUCF^^{HZ-6!Ci0JR>vs4gCN_Lb zN=gE1N0bX?E!d2mZ}@!}0N34CvW!zxtJIJoK_n1?Enc>qI>rp$-qF*nakaS*WMI5= z!j`3Rxp3baq;gg3=$8&VZ{v*$XM=&NtYs~)9jR20Z83L?k&|S%yabmsf-S~;LW%D> z*7Qo;le9~&cAVFnH{=yrXDW9GE8i=Z5-;SExR);FKBEN9-~F0Drk2Kx$CS!LPpJ1< z%FM?Ny3Yz9am=Hql(wbTvVzTLGWmzKlo^ejN&qAS*6HQ&JQvkbj1+e&ARPYdGlRH^si@p8hwRbhMh8_ z*9ILCW5O}z4{*oeylpU3Xm>Kf_BW^ZPUDd)%r0xpE{o2g>BbXV%=>$C#dkaX4f{(v zgsbU2=MzuXE|bx(abGGjcgz_2jmfTW*@r8(7of-YJ?}b|e|AzR;Y!$*95Y5t<00(^ zZL)oDs~cY#MCg;jzwplP#vH!%`u>;Ohq))(JnroHV>i$Zl0J5cb=5WZGMP;D>Eq|kjf!jVnoFG)0Ma!1g{fJ94dR?MU z&0nmQF~FD?1T@CUCG9T^=`#I-EHV09Rs=1SR0v8B##8U}MxFNV^Z!0iWnHrGYo6V` z`LHpdE27|bDu)4&QFH9bIBHJD2X>q!)HGv&KT=_ znwK-$0F{8wNIt_W5|Pv+hFXT5f5@2z2=*#u?cP^PmU05KI0AX73cv#dT!%*Ioe$Cm z)I@lAx6r%T{0z@+m~m6o5^J-I&3xBbl#vI=eJx$#ALoel?@5EiwYpB_7Yp*KiHK*Y z6MLmZ4McxAf-{}dMj>4!O|q#3zz0&ohCD{1BllPfZ;i3N^yi&s^GaS)Q+} zIgW$d{TMVc#>**?hW_8bxl$4=nTNJ)d6QA45rh3{fi4wWDHC~KmX&2S;mm}B@>+!gg#%?xEV4-@3{lxM6@Yz zdqE%v9_{TcA^9E-8nuJRE5dVhnj5#fuCS%4qO;?m6F{u1@x@yECed^(T90 z+n$q;ssXY8!9fJpj%yBOe)CK~L~=X$iI|dRJ8Q{(c-t6Dx!rxq0T_j0!^dPBiia;V z#>ev;TN%)#W`}FHGFik>dMT&S443L$F&N-;_dn)BaWaVk>WV#X`^BSH(aJ2y7f5-r z7!)pB#uNL;k!lsSxHxAz&``^B&sz>_bUv%KPZdvFE3v4>fa_dsdrB!#TJo?z)4Uxe zTJb2GH8>MB7Oz|*x+rq+@aX;Ffr~VaFI!Y^KA~5x_@#Pe?b;aL4kzv13dm>s2bsZ0 z319!Zr3g|v!7B(}zH5ooHPGvU;=2CvNyvUEQTWT4eJY=#G8ntVum(N#|R}EFZ@u#QEz)+R_Qpb9ki|HE!^f~iQWblozXa_Tm@wuE3xC`g4 zh95Y4@akvJSAT6#Hgdkr1z|# z4N8l(#K4*f+!DKtNw`u)OT$%>K$PA5T`vRazFmV`>ltG5@^LLdn{AeU1~xyie@PpB zlDLU7Yf;H%k{Vohr2C<5zMl5y*qzjZ@)sON{wr+ob<-@*ZFfUwU0+3d6MOd_2}`sz&y4_j_&Q3hs|;l)e%mKFtt_3t;q()M zlxbssF7Ma*ZAnDzyYEH^WIkBrB_1>n3{=_{04eA5HUbEeSz7t8jl)}y0_do!CrUnd z6mG&-GC7RG81)V?0fN`g*XZfAtlbh;;qm0IS7uW8e?AGgpEHV5!X688p78Imv)$tz zTKZMnBsii_X!Ax7In5p(c{=4=lsAigF6lzR>?;IG7^ee?goY1n%cxYh%oA6SyJPo| zyv7ejwYbiQj8}<2tf0L=-V@opPx;wHzBRune|dmN3Wfwu0QZkyi=P61O2+laA6A?m z$(T1-0)Z4A6;-GEk*&e5hK_Ln(x+cGdwlZ`JA=>NZ~VMdw!t+uD8zmYW7SO?1qz(E_u2BtVUHGk9?+7~HCg_vyKnw9_>KBnE{KPy zr+RE!Jv>~4WoGN078j*boHABE7g`(1V7~B0^<-AuBrGaTTtR zfa&S+AG-#62lyrVF+_nZR>vpl*g{Km3P2?1hsF0L zuU$%$QOB+XJK-5e2^ad>3tv#(!>OY~0+5yN);uwbXePTWFR(*>rW9T$y=ERYUNs)-QgdKjT7>;1a%xM zQcxtQqi9+`*2`mmk7_&TgKHT?{d&C5$!s%+)FzH&Dpalb%P5^j3r`QV#w;r%ki_1m zXLR`Br7r2slG*h`k;SpXB4N9F{t$~FD``y1;d@p8N+D;xj!nH?YK`*W{1uwVeC%NS zeI&ma-YBiEON4pL50ZS}z^V`oOp$wiV9mr=T@7GasvNv;h%(Rc{_A7G?0WP5j~FI^ z&_^+^9H?R79r-C)gCHUZEhsIXj%CX7GjObOY}3O)&?HHonar$=5_#K3&AEOE(uEDV zb*jO-U9PQ?Tjc|7(Ub?Hf4qFo5CjAS6T$Jcd@TxwJc0*3Lvwst$FiNKqUY#e>f-0h3VN^n^X_~!#?jld?0bz@u?zMetRp#z z=21RwnA8dMLNojV>-)069b#GH)HVH5zIho71aX2!8NGYz(fYpPWy{r`y&3f5>E7 z(HBe$_^9ODzB7sx-ESe8OOwtEQG+|V?ZIO@oiMYGX!K`;#UT!8=5#u9LToh2HJ;ZH z`$6Ug|2NTf2l*}AQb6ZK_iYF6;om---}!^Ic-gq23U&J z+sBq>Qo1}6KMqvu;2%|ys4bn%8njnf-2=CQX6I*L())!^Y6WH1G5Ou2$>UK-MJeQz zfWZ(_C@X`s!1HB~yb)eb9a?`y7P_F{T z2uUM=FagQfBgf5|rZoflY6TZhR-2*$fOamYeS%D(a;|d8U*5oC$)$IsI!-K#%Iu`8 z@(UFeHa_R53XTOyob%_37q}@nRklv%qxsdnSQ4DEgg0C*{+Dmq_$~k+@LJ6VxKShZc5^&i7DqvHeo{BB z@-R?HD_=5Y2Q)0F?e+T8^vg{Oh=|Cvs1G{pbzb#4GM%hWZVK4ZNq?XDJ@qTe-aFeP z|I*uF@ovqR73P!Ht#`E1-JgN%*Nbc*`%PI%h7)b%u`0x3&<4q$&QU7C8Ddw$%`GUH zwtdegBqRp{NLl6V1Q>i5D;DeR_okv;$Uvms(|zMBW_&+8;8?|NnXup?qNXiYXSg`X zSGe4A&Dy{7ecQM?!0gC&G&9&A=V7UFJs1Am^cgS`Yeh_0G#q(t*}XB7dL8)G2Qf*r zYdgMmxUz?V0i#Pj``jlr;2Lpy$bhlo{%tX6*!D3ZM(Pk~b9y_;ez_|sp^$TAGzpIO z-C@TnilJI5Efn9kF0Y8+58?`QKb;3&`J4)7buwHhj{k1IUO(ySZWQCFcgN=Z)*(RX z0r(p<(kf9To|xwycltBBKv&s7C#sX5W^i|x;K6Nh_u%gC?ry;?xI3Kw{;G39 z6*o{rGd=z8wby#q`+H~?^+<@ttm`)j1xDA%+ z$wn?e;S;9D`#B1s{lk|KU(%uWJ2BfA~SDb3_dHtusq`WNA2N(38!V_@B@5#3=K7 z?1>y|d+$RV85C$btBer~9IO<69e@YWlaU9Vsh@EI41EfND7aE^%nHIGdaH}29O7|! z4Xxq}4K0Ag(0!TEzDQuGQthg?keqf~6Mv5YE*t-(^h>uCarByS5(&}0%=q(Xb)|UI z3@aY>zsekx7M#6@QLQ;CRI5|RB}!D zN-t`XEr1tqf)++Jpo^LK@mQbvOqPG#+9#AT_b;Tz57N(d`am4%5%gERPqS!uh6y8M zeD@y97vbVXwrTxbpX+jw*XpynjcKviUl=df6S)8O0OdQMkRLn@4RF)R&3#P$MgjZk z8kgTXSsifhDySOa>9}ONn;5TURWqEhnm)fX8xSuP6IW&iV!(8SEcxqZDy3@D?BhM# zj)fU#$^r zx@k40*~*sR5gA^jI&Z?;UTzlcLeO8wKdXCy6LIKIh9%8XI0*5KIKIJ4SXzW#<1%02 zDvI=iqlNuNmwu5L+7X64E`K4UYj(KhFL3y>$J?*oqy80y<)<%ZE&-u(lJf3&oi}A& zEnQno-TJ)<){Y*wq+*T&D_Em6AH0(6Hng6LdqTNaH_1?i&q*@qK3|)5j2|cQH_eA7 z_#ym`XR{~7Y$1NU!$)Q28-u`(I4?K)LhU^T<;zvCAG3vl*QS5}ncW&6)o}Nzmo>IP zkH>>PvOAlhDl9B2o-c8W+78$ENbS4_i$opsy<}uPns+?VC~m>`zpOX%k?XI`fc-+J!$rrk1ds{d4Nh5jQjaDkxV3V}FIaE@};2S-;;bgE})N1yM zbSMaP!b+*08T3ZF=2gDf=E=;%{;YYWtV5;L579ylAX%9l#REkpkVkuquU;=Nbquv5 zIX>_gW=Whl!zR>7SzrXO7+b->5U(Irb(<_r z4wGGoJAgw7XY9lM4VA2z%17uy}wl+lYXTIeP`O@3oB(BY1_(&#PT= z?uY9?2vTiO**>KU+Xs8p_junEQ-FS^-m;&!p5w{T;Y(cAVWCLo^Jc>SYF{|ftDY^~9Z z&O4H~c>2A3;qdb!pU(>ykk&?rYY-r?DywujoH{jtM)~VQAZGI5*EN)$(S=t4Ge0$g zX>Auy${0e}e$TAFP`Sk$b=xbWl;5Ep^tI5@KbK(*U`tv;clH4bs!8ADA6^f`(JSai z)!iet5!bfqJ7=xYWOb5!#9E2DL1KKw{El{Q7(j>l79i8_rVDvTxp;vf&O@M{5w{%dR!r%hxYHcRDQ}-&V_w!gkc2pS9lC=@hn#2jd$=YP zGE<|9vB%rDLxvxqJn=0d5Uvk;{2(Wx>ubM<3FZ9VeP z0cj-@?>+j`(xl7RU&YN|wt4&S1>d?^UW%lTYC0N*AFnl*&u%oew7_6+#+I2JUm3>< zsupiml8UK9O_eW8$N8o^SqDj+F+NrKCqdBPbt48gww)DXRTrAM4(l`)n?4wX&|xwe z44IDbxEKb~ygzZv?!std)v|3?&$7#V)tmy86Y|dN0{SC0SdH-hSZi)&E7p{MAH4~K zuApb+@?v=wC#AhVUUUR0x#Z`TdF}uBtiH&Dv`JOQg43T8x(hMJ|IyBo}9)W<6wjoKogmzTpl^7a?DAgcj%>XAm!Xzb5 z@=-AWQ&rQ`$N;OAxJvm#PC0w$yLwAK$?jAE0wG+`jMXkz7oG}seAv=T-EKOIWUcm( zm6T5VqbD6vj}CiW8X6z5#!K4mOeMBU*=#~sfVa1d%{2PmkCgG#?yhv6JtKW%2`#6# z<~|?}0c0G!pzqAH9P$-qw(&F+4wEeKaMZ*bp=EfbXD#R^0|G<8J4v$L!K?=73>#@6 z9Qd>-=494?CEwFec|Y_qRowq?2LRKdyyRpMaXQM`Y$8a!3L{lUSfX4mXVU{r;S2jX z8Wj~)_0_`zE6x)K6ewpY;P)3SDjMjFJVMc#bNhb}AQRKVri1qT3zoON_W__>Nk3;j zlRR?p!O-9%{;ySBlcgUlvD9BuV%mJ(pgGE^rOpJ$&R?EI44kb$Poh2yg$Tn?i^~B0 zmp36qg{C9%5V0-(hjDf(;TKllixiP9aMlyn{rsxeGl9Ozw7fYA@{_gnn~T%R}G%bpl-&-=?m zis*|17NK#}_n{E?w}SJj^_5({`5MX!aM8Kv{dq6cgzxcjUvmfqpNbs~no8H-A!Q9O ze;RLRyO~TWo#RS7VvTO$-&Z9c~tNme=z;FZ4DVz>H zBzCu-Q-cptgRYIVE1T|HQ|CCxSg?_>Kp* z!o8irn4O(%s>q+Wv42{_*2&2I?zZO&^^o`~_CyO<^mp?j%s78~I|jJ4Mt2H~msx%w6D+qTSr%*xNVV zSBNJwnpP-@;lq2Q>OTTgp`1bGhDmwo)J1`5=UBZZ!(7Q{l#S}KXA*Y+mENAeu{B zG1|2*s<443g%lRyTjaD1;REIl(Q>{0UXnMoPj}})l` zD!Cq)fF+9U+djYyjs&t7`(ToCEt6SFv!A)sF|W@!Lpu?(MUwypQ_ps2?gY7U!yTsh zGa#XDjUCnUMui+d0cmiR;^33z+9a1&`F8E@Yr+{$QIJHvc7_wVWjmPTL&gE1tpUBo zsq^(*+e&@ns6u^2u4~=Zp6Aq|Knz_8@fe<|+3OA8*XK$WJ_o>rK5OX#UhVy|3cZ7s zTT95xuTR8YQ!Y*TXyoDup$AKxhk}ZtmXH=QM=r4($WJ^8omQU=%JJVj5bbgGDFiaw z1aSeZA;%upD)0KGNfrK{1r=;CdNEbhF$NqNKk|jt8H|yUyJY7o#VGr?<_Ij5-C*@R z=+Roj(sfBf8lcp{;p_#rQ?QqX5AOGCr(2t^!K<=83uuA<`t-Wxm z|K?4;;Vo{=3?N5#SWZgNLDaq^XILbiOVt1UkgmOE;7!wDU|(xAzdPKg48zU)9WOxD z<$HZ;a;V^>{YL$&$t?RPX`i6BG9j=$MD(xAwzo|uN4U7}PuW0R|-VHr>n9SBE<{*f8^l(>@_$Ap#N15a;eS}MZx zAm#FL4I)~{>3X((K}ZK*q6azC^;|Ds>U3-P121Q z&|ht)-nD7aSc7i=pJRyeLdbica&?smxQ>w?j@xR*i^sf~;dz8ksThG|l8F9YrshW< zWJgC`lvqixAe12Y*Evvbb##_%jQNOaec$$UD{W)iO&(j;+pyxr`a$P#hRCCeQ?T~{ z=v%2?kd6v~7xh6X=g3u(JBsQZJ6%`AD2j;3qJfu=!x~J|(O=G1Epa%yqT*ja9vdTM z%I6J2mTj&pEPU+ueL+2)({2`gx{S_w{*nILqayg0DPfdYJ*{=1U8Lx%J7vM?{>CD# zIO~|4nMK3%bEeibu=^6GzC;mcFqu-qy!WXf-0SWAu`{Nf>ukL^Y0A_JwC0yXJ8w-zU6cJTL%+W8AMaYlS;3=BFxuh3@0yyJB97Dn2RXWQ6+HNy`Ji9J!rRzJsA zzfmn}z)+zs)*`(``##Y;O1+;}UR9I4Q<@)wA-hxE9|f;2h$4c2AoKrNb3LK$H5=oV zU)Isj6n{h^v+57oqGnCMSN&F=)RzKJ0f>|L@ZQJY{ z&*h;c*rK);<{1Zm9nG3E*WZ}EZoj_v;EPiOueu`}U(-mf9AOZQI$yrIq%a{Gf7~|$ z&XPZ|%J7S(ghjmkhMahDRA01B7Y>ZV>B14(5id0GFPt?unIlD%4XO~p9;d|p_|9CqWMo^C-eg911#X^xyc+I;qrD;SFB=*eNfd_*4n#x1Re?9CGq1h8C@&IVRt{dC&$hBTb8W=8!Eltb+^ z&ZubRmILmJn0D`*Qw>$#BMnd(+e13e=ijT>h*l}(0n%mlk>UN0OLg0VqeE9O>&tcF z1UaBYwo!D+AL?h7hvXSQ&~5#cj*;trjP`F$CtLtwOCl zGyXefa(GK`8mxF3xDlP-Ldo6GKsFAmv1M4G^cYjVsGUoVq-$Ck!vxXJaLkANX6Dq7 zTmouUQNPq{gCQRY295jVhX+%F?NJuhxtjp_!jVHQ(4pM5w#nBNYg2voy)k~!s0qr8 zXz;F3mTow1jK0T7p~Nu|{P9bI zstzl8;=5?f7t?yK(~i>xM?u>#8CnGXpAnVt^6;WD1EHl5rxr-k3B(Jzv=VDOs?DDd ziAX}#9{WLJ=_Y|e84MSKB?Z3ka3Odj>{MWU&&#*G)`Ik^(wTJ5t-*3+$Pu8Cjr#dx=c3PD3=7|GkJCNuJ@@ z9zzn)-~+H7V+vEdoUPn`9d8=Nc~ImB8i2t8EM7-iz}S|OnYQ(`XK7{as`X=)GD<^B zOLwPX^&Z=SqCGy(?6vWy#$@U+EngTWOU8EE;Nr6H`zz!yr8DqVWBf z2?9{Aj(^^VK{gUr0wpGjL z{PmYn`awh6`pM7$gsI?DU5wGn#lK^X$Lj+B!0^K7xE^>o+YnkltWd0g~JH?o&HgtOb8lYcqbC2RodY^7Duc`t`#S zO8LWJ^1j@NJa`5cU}z(?WH2i=iu2>K9$Hni@`M=3xnAQZRao1{02t zKVna0dBy|ZUU&;XO#|4T&6j>zIr;iOi~j(|>l;+#IuI2ZjIwvPPS7@ov*J$9Fd;}z z$=b___Vvg0Ip!cVlVAQERW{Pa#>Q3wnU?xMV^X zl%la4N}rZo90+5lx~;9Rc@`WPVW*3mvd6UJ@4ENa<*{&{ z;gkSLu%7=|#&H3wSE{pWSJl_Uip`$hcPC^!Zcit>lqyut?#Y;@*$Xmb%$36Akm5&Q z5;nayP{~+)tH%P`0m{{h=z!D#J>V0FXm+?HRJN>P6q5#4DoCI1>=%WkVw7101V#aE zChILlvAVe#6qPgmXXeP|qW6OapVynCVy*24)EOY#2SUuOFfJ1;7avbI-gNauZsCwV z;jk43;^H+32)!MNyq=qJYMU|fd95ndFw$^;vCZrhi!&6GCa!n~Tf#Dx5#5)|2O^f_+)qiXT;GWiZ& z;R3=OMQ_e5hZ?TITV%Q(^nHRQe$SC=>Zs|reHnQ7!!oW@0t%Q*68JOD;1}uSq0JyS zn!4-TJa3b}vX&)1ldrFewN+DM&B9R>NQH_3YFma+^;kX-gVH^M!~?dA>%q^+rX$iJ zJ@724!{10S+ACgN?p>}$|AgMz()3oj7ih+>N16O9*u4!>HbAN~A8E>|n zTB4ms6b*~uCc{#B`&l^iV8%uvSL|R0Q{cThn^rdU%&IEAzP(G7fc@r`+K_*SFo;DBeo)3qhu;G z17P~H;xBK7ErH0?$Ldz3E3yN>9`swr2$(PUuSvt%Pb~9HIGUL!Hf%^D)*id!?lw~^ z&Te~_o9cmWpgW>=PCPnKCnsmHCa=RRDC853T}ZIXPF6Nc8AtIX#4X(Gt5)!?>us1bg#XbwDRIe{pJZ|m724!GaD@9-)ZZd7%c z7GSBI(lJ}%Ql)bdG?lXNp0y#B2M@a99Udx%F}j+vDy4b;8F1c3DXzxB#ein~;$X z_nsp-`$V#1u0IbzHox?uCx#Z^@ukmx|KP65<&-}p5vSSuG5Zt~C#-(l8P2|E#3ck* z|BV^&JuE*0kd8c_L;LMrP=!u&PibZ5Zu|W@0FUF899-j!j<1nc$BIw8F{l;imR|a% zJjsxJM|1x)zAV!)Nz z*}bk}ZHGv$iba{c!88^Q7H9!g$epet=(B?4299fi^J#4X;6so|SeojfSN z>Gw%u6Hn{1taEwgzf&OKmj1Z2cHfeki)Dz1N}A2`Ud+63^{>P8oNr^p6$#pFLuzM< zhJjHX9}cAsf0SU zvP{06p5Q@BJae|VwAY4XL>TR4EJQT`A4fJ%ee1ht=2v&)e)jA#*gj|6+jV`oNaS8(U^(!4<9V~SqtZKL%0g9X#t#+h;Mv&YpC8&LxM@vu@Hq>n3+)C9-JyEFgM^3!nt z?xwM10{R`X;hMA0?gb+0^0}+oL?f@`K5}_8w;xGWVU19DDoZ+xU7E0S<>IS zLs*7t0=3s~`%T;dRO%h)`m4y^G^+53{&R6>_v1CoRcq(_rxRz-mmc5ejq3JSPp4-D zfTxtTm#{cd+u12)yTP7KB}e@npeTxS!-i?fuCBj{3-b8dO29R9uWbjq^r83rtJ%#yE3d`>x#gFi0jrC9*A z;iy7atN^IXnps!-;Htp+Z9B9QGboHV?2E#{*kt2nZ;UFgfoKAOZ#hyvyEJ%6eqvue zL_@!MXyhMxLesX7R9p*x^Kjs_+nA20-}|HQ(_mc^?qiVt3v3T-er=~BVgJdgGjL*< zPv~_UamOu)lg<{}*guS||AGn6>t5otSPnH63{WNPrW`Gxkz~VVRZC)#T#yPgg(B7P zxrn~w$>a44zU_%@{e3{J2O|=Aj0fj`8K)w*ELbpAtKC!u(+tbrCBEIef5!b3r zUmVeuB`O%RWt}`Wc21X9)~AY>#y)8BGX{mM&i(<>>bwaQe-(>X)L_{sLi#`mYim)761p0AW}Qh_dc!j@$A>R=v4S|B5pyoOXAw|-RW!DVjWC-!C)I} zu+DK!g>{KE_c;ukZn7!@PT?fGyUIpM(-$EFpb^8R-k%FU?}hzgQul{Cp;7kw;E1C* zA?~ixC|B(bOcMCCc+rjfD`(=Lh0ViZ73sa|#Un`EZVmU4%nH)=!$>=TO%xbVUeU5v zGQ?I*a(kUoJJS*oD^QY>Ap5Oc4Tf#8)6*v!^Sa?N)zPr>Xx#9Y_&!vW%k%oS_5`VgEhOqQtIWX z>C(~!kb^1ccVG+;{;2wYapN9fC5}G2eaZ)gX)sC0!H|_0gj+$HN zW~S@^{&9Ju0)dp)GVcRfisks0{bx(WKqo%DGtMU0MTN-P+LYhz#YV2&yD4|5zAVnY z_wea0WU{VZ3uD2I4sag2JPr9%3Vfu2>BV1JKfylT;UIba=XoN9-Z;qejitSFznPZ8 zilI!jbGZCn5 z?}igX_k!a=a3t@2QoNpblq+&5fu@jl%RT7gYH2dOThF$qaa=xE!*~Ywpufkq7fT^$ z;@jwpxU3T0dalu`$U~CgIhzTJ`;ExDU@=pej_4Yj5!(W!p`p5N&EXZ@`zbwvu`SwM z9>VGMrJr%Qv@8a3`B*_|4?l9)B){VgAvGE>a4uZCZ4cXC%!OCROUlx+3|K^B_?OXE zL2Jl!whVlV4oSE6w9;$uxx1sTZxZwLfy&s6K8Og-%lv&$e+qnSGvD*Z4%vEpQ-6hcPqO)M(I5>8`e%sZ~oQIl~u7s1XA^u(9Xp!NNN| ztPOCJn*T=Ggx3MJpA&y5h1hZ1S=W zXwd(DDKym_55P<9o-Zy1-N`5k2nZfBe?Cq@yKZ>X_&(wKb_1E- zmx}Y_kPSx&DKeWj2O-KOWb&vUr-LN7e*d4^eJVlZZxhGNgal*lah#Fsp)+28k|)8t zrDsw2ZQ9%+jv7XAdc@J$85sxPn`|7J;HSQ)}zU z0`U+wWBSL@%C_NWkqeE74d1=@?P`)&C17Om4KLU;_Ias%Ra>Dh)A){LH}1;>54a}jvyHhqKNNRrs+z2hHrhmkQsJmbhk z<(}9~O4T`_GASgxNtc*}+w5Q+0N8Ocq|gTyGL0M$$h#>eXoHl6m8J7lDT{MzlQv~h z$rv*xgq0EX+;8z^cq=nVn&{(9vtFqsHLn<5#j*C-Kn_4o485whQ!0}HQgi_!WneE- zRf>we`WQ6PeO=P#_6A)%;eL9n(e$uj%$k_>+?;igV%pK|CJ1L)%()sdkh<}@F0yOt zduQ5Q=bf->V~HMwO^@9VRBlzZ7#O>U(jup%+0I&UB7EGN2vwd?$o>ovA`i}-aa+2y z&F0b+B#R+n~@!wD2fIcRnr_ z&(kx*uD5vLS3=f1F+J%<4jwt>6bLvm z1*Qi1D-&;e7!}-n&m^D3WMtlC$e^6FRHL_-Gexzir+3ecJ;2nC#Fv$ITzmezsv8uZ zKzmf%xv{eWuyPY;X>g>KlPT%MOuBa088}egK(;5%wiT+6dJ*TJ`_b_zrtl-S;g0W6 zj;8J;vnJ)U+Mu>~<-d9&D#Q&3uIS8vMn~r<@f~4S{c-n>c)Y2K1_SUV6OC0nNhT`V zaLR7+UU{NJ(x6zKUNtX9FP0qQ zy5m9rIuIp@eZCpg_?}|+H-PbRHDx2M^7iOBxkMsg`4gPLC!b$UupYKVjZq}hn`y^T zT$Mo!eD&Jc0o|xxB?*XzR6tWC&t=?*-}>^m3glxt-0Yw`L8)jGLqS6JFQ{m8$-o7R zhYYzA;Im9hb642)oy|5mCXD2$Q76#rdp}8(lp8+$wZ#@@FgTgX+Phb5^Gf1WgFKCE#9wO`8E>|p1Y^|#^M1O88H_)T|i6z$j z(RPf|_KwzOarKp&OjbN)x^p1SE?v7;$X<6PfkFpUS+($vct`YiB6;3kBE8WbkF z8G=p^((3FO4~?f`UC50jV_@9-nl{#x^mbAzcsss$u^+YN4n@7FSvov=k>QdjnrwTu zSu+^=NUy=tHett^jjv&*T7qRhlFehlD|2{qZ_Y{3Hgh!lS&YX%F$^fJBfYrrKIUE) zL-!;GZgAj$%SfavA+Pmu4e<}Bf#0}Ci2>L{4YgzM|uYkQV; z_@7aT^uW%>LG`_sR#vvLlsH!1IeXlu3LBDygB2Vah!g2;kwp`oV`j-yW~!r+fd-wc z;GJ6yH>(^;JX#0K3!$VMCcBwuIb19ppzqMNG8~uN&eL?5H2}Cq9VE)u^B-hm&0o5} z{n`pJ!r|(eGK*Oy;m|wH<5LmkRTD}15b{JQCA?U7Vr_nx7J(D{$Gz+H)bOT*8_>b? z40FnLvuRdAd)3%9=HNP(XX3WNDt2O=+36a*T%l+Z`|*D3&b@ z*C2youIKR%_#8jtZbb8Px~@4hdnB^nT=>TbD!RS(<1QaNxdD9*wO(eQt^Dc{I%;6B zqb2KyWm<=MvOL2$RT%4%G&MEF;D@dWEk9p7Ix^O+uDMpq8YIb7*VZZ)D3QsBw7Fj* z?o^YOFvVd0R1Laa7w&vI_aQPwG|F_`9WwN2Cl+1H-8jYk_BoC)Y>genK^^a}|G3yG zqqK{q6-5F^nNmPo6Q}#->R~6EgNH{kZ}}^|Uqa#(Qbq*-&2)=_V5Z&e3bkj3_X{Zu zy2DX#>ddC7Z6+kv7+!}etc~a-KcE%n&Z8v8E0xlO$7Pu zH~O#S4|BFJ)V}W|FTL#E^VWZn%D+TN+1RO>!M#E$PZ-*z*-&|xa22uI97t%I1^ks0?cpdY5AiHkLx7YQtVK#wNd{N>W%P zU3}h1$G;;@QA)Rkh zX142xiGdX@Ofhw=2?ch~ugy+RY5&wZkuIt}355L(CWc8Al>f~T4u6CvHiA}2a9n%6 z2COXHa-vD#@$e?MZ`d4;f$?OCi zzp_k?U=cM;c(`mjZ_3QEGlKuGy*;X;T!xRYCf3z^#HJ<0>;<2)X(K!*evBHh8VIJw z7!&!A5I(=M?bLOd$r>WXaZ-#ULIN4nSW_s07dCww4dNhCd~};ht6uBSz#ybb&Z1&X zvK>+-+crA+!2QcO?p7-?p8Ve32EZHD z=E>*MgrL<0%hmCQj2xoCB2&e_blvTj{sw4-1DM-ko#LAey%f#;S^~fBE(DCF1(XsCRG(?gg zm$|$4hf2*I(z2?wdwX#wZaY9}jGZ>&cE`d%A=2JoKIjCYJrD}FiNzJEZlg*4R*2Vu z4cPjnckT=zC(SG95F@dO^-fx+@_GPR=IAtdaC(Imq%!z|9c-EQ?DZO?;lA^ad;ShT z=mO0c!CMK-ZDy(@=v%|2c!-dCJo9>_aAwe>N4N|g8B#B=J<^h!U@qUrZqTT}3EEV$ z{w@&d9*ib5_VLL)^O=Nlr2^_8q2ff7crxGk4fn(unVFN~*NO*WzoA_|DMT+;>Td_k zKMxP^9Ul{ws6{_Ma!-1_($Qyb-)y|!{fBxOG1NO{Y0xRh0}hc)3$!gVTp7`x_DM=?ayra!igo|e{R^@qE1d%;u~OwC zn!|rNqlEhUyfxqR^}2&pue(y)_R&wF8N;X08=uIA>Zw60xrb=I-M{}cPfDr(Q7w_1 zLGXRs)wkOkmmM3Qye7zcLXLhN0n*A~@5lHK+z>+Ps>a!21Q?)9y!`tz%> zA)4L(*q65f#aHLxc4FXnE$Vl6#Fo`d)F$@k$ba-(mF*gzq8wbvml zE{h&5W(QMFM3aX%YEaiuM9-7vPBU^{nAn$qtNG6oY4uK?&-v~y;87~d5!ZiM1z0kC z=bhjLK`)VP_3)*?%TSan0ovt~!J-GVss#M+H$16dl_iK)D{5xNFg^ z(EXcRyV`y44FH73vKOT^qbb>5O7$NbVf+To)=W(s2M2}UG;}nYr`>#{b3Oyz+_W1k zYJ%ts*N-ch`UflZ)^D2}SvzyZtGqQX$>F#g`O{^!jkDdFpNyZ=f1j&}qokJP8 z{AqtqozG@k0t!}i5p-FQz*$>B>&cPJpmX7J?}3U02U8gqdfNbamHjbdBh#X+EIJTV^8(5X{cYB-MVsG@eVqEs#Au|7 z2&}F)Ft9WGyUWRcw4FPwkAsm`2(xjBtmqe2J|QPSu(Z_G=@KV*8>tQ_c)QFy5+R)0 zOcwRjo}R5`m9}UPY)a)Q%9xMp~lUMsoxs&L{Xu@0(XOoXUKi?PzB$|4G%LL|_7x zp>t_yjLGDY?ZYv?O<6E5n3yxQ(8YI&wM+`j#I>?LL+kszpGbf_2xRr84V9$BbX3d& zm>sC|*vwO_o0rKL2sL?tbTwAXSQ%|VQ(&qZ$?%bQBPDb`%@lwC60~7^8WvoGQPFyu zk*03u&K}R-ugQcAx$N_g?<8|>cE9g*yX&fIk1d{VIbgTCqeor4;DgW+Cvh5MMgcy> zWdMvJrf^}pcU9Hyy|t!R!74qrADhu-7X9!U!`OA~POpSa81t z?zA_OSG?1_5a1{AE)Wj)FHBk5CEI_(=O$YzSJm=t`rQkUG)`ohR&WjKlyFUYS-g)=c=pm~ZDDh;4a?a9BGE@pRX~8{=w&%IH?8|6S^TNO0t+`S54(-_9qS412b1%repJK-)+^+ zxKr`41RAoaDt9;CNvY~RKGu6c$_-`m{sQFh zI%ast_F*gqrIrlZ!^w&B!_^LM^ZDB+O&#s8cE5efJ&FyC0PrjYuXlq(oIL|lCUQB`bt63d2%10F>CgXP+jv$L9}s{ID@)|2zwan`f@2jRDB z#fveH$*VmU-ykChWD@2G0v9`YxidKID6eCWh`rbU690aib$QVnZ3nc;&Ya&rz8nB> z+{FVL-))+v&b%TRx0zQ$ zux#Zqr>*Y@Z(?H5$6ozNBhE4DIAG%pj?7-xF>rOo%@ItEj1ibj&lkX(IgfsGL~Hvb zT*dQNdq?zpvC(hiBl}E>$Rd8&%)v2qcwgk#>MI_(f-D#HBFA1yKB~ZeIUDOWt?CLy zhKjkhBdm&JXMW9e_fXq0s&ouV=_^J@qDHatnfOiuMH&-BGq%!@#U?-=E-%+zDTmF+ zCHI!iHs~O>Z%^ZQZ^Wj`vyzRjG>qAwqrcW^t`RNbFfwhFYUev(Bs5M)?RpG$cJC-u zi7(b)Sc)T3B@VDbjm*b~L#ax{R%l^`-YK2R9ey5AQ1h2S7^RdSz9v+ml#63Cw^&;HE1suwUQPFX z@2dhL2u-r$J;{78w;z!M6P8wy4?BWcrZpvlj>BXJ&whu$R2_N>VP+S;c!Qh!Q8uXk z+zxix^+T6Uv_Ls`?SjvwU(9v0B{WBKkdDoN$_wS@D#87qMf~s5747v=OKY1Gt!MP5 z=;?K;bO5shuFo{?((R zmMb-lLPJ<0Hg*u59@%{(gm}9nBm-C79hxj6UfP3rB%UKFVmi3nEz6`m6r$Ih(@e&u zs@YZ&!Uo$sEe%DF%$5+NF0|XQhkv{t(QP-Rr+%@ zUYDUXXe1?7H4P5p1>Cpi@H}KbFPAKUW9}hT@deNK;%SsH1=ZaU9L}>7Zq;^+bIow= zHV!9-4`IbB{5r%AQgL&lMrdZOd;Q&=J=ummH0Q8x^jkW2*5AU4Ps>lepgYTz2H?HZ za_r{(-1wSlgw>oGR7ZP+*WIHX7)Ps5F7(^zH+%`Qz_V(3cP+jpqC@HOC>8F6Zoa^n zmX>yYs@lWa`3n@V9icI6z%MIftg4#J6(Mvy>&FF_mYcxF*wIkSSg9n_=1)QPw3Wj~ z`~CFt`d-2H`QM$^>h?(GIL1-kpx;GH$1cN&<32^=XdZzHzvBm^FaKFq0(lk%JZZ^1 zZ*^3F25KM6Nq`X|eTT<&$me-QJ%?#_krV^&fh0e_LY5fz(HKsM>w9c%z1A z{ikU^ku9&EqQR-n)Y#J?=tVO%r8WfX;%e)ct?E|$?sZha{ax>#<$6rmd4U8`ITqYP zX2m=xngE(DFMZ#i^(msn08Q?3iap^^j~nOq!>~$v(5jh=a#hktd9-rwm1b(90_f_tZ-)+T0KXooP#Zcva9af$W`bx&OGWPY{RUo2XdIzJ{^Z>?> z`z$pBws6be&nky#AKS%6cpNJ0&kdHuKRl_u;&X8cZIs-C&85&C!RM1}opz6mgaYvg zdpXte?D|}xjX;LQZg}JoKl^a7QF%@lE@Q}N$u5)1$u)(LN0&6-itXnbovi+{BG)G! z_5xg0X(+d|H4wJ?$)f4;Dx7CDCWEI^+^}?l{6${54mNb)AK?ZrB~U>YL098H++@%xkSiiLz0xkM zMJ*3oAk1!iMvyXDpu{`}>!kREJ2HO0AV*)zt~FnGTxoSaMH7R_$R*C1tEn zlTg1-{l1r`Ri>I>-Q7D9LTbaWz6iHZ6pdA?(Eh3m?kfCqIl;8+@V`|nls+~rbCW12 zQ6mWy4_SXD3RDKJjpNBV;NjE)FkXooi5DM56APB6le?nLSh&CP7SCOcU>Kwri9>Ap ze6Cm*%&_8s=8DpJ@;G99!h|c5sfBH+FjnjmDP_)H({gPai4j3ega zYddp5cQQq32xumPlyNVrL$O_N5G#>!GFGhlO%xnc-L*SKf}&~3bm9B*bk4?!Zf`jc zrK`mpurfA7{E^Nan{VDL19eSn%j%ieqf^6WpAG=r=%JAcMwihJ)xvaQTo0&6YYfn} z%M9g_ctc7n^$nfPgFgLrWRX$_I%2oTq`6Cs>NqWaMv$g1l0itu_F*k0CUg3f^5AMy`f-{(|* zEG0gfunryX*uUhZONs%NO1CR!9$yA+2M>O*qbLu31?xeR#`Bs|b}*Wq6SKqRlANTx zKm7*v+V%bKf89MD-OY|HcF)VRYwumJV*sq-a5{v}p*N}H2KI$?JH+=eB-U-NgbSkj zE53wIvAU|M?-OxG$i~aR)|Sffwe?R*nmKwJq@4ClKhr7OUS^EF7;n{sPRox~$+L_E z4b0vBFpJK`EyW4dztVen>SnravjAp7uq8v=+X{o=!{3k#!S0Pm0pIw)c3nS`D&laz zwCiPgqzrkzKH;1`a)Y#>*g^5iC~l6h;q`Zgx^1gYyMcz%Sdx^XvV2@x3ZBKF9F7Ps z${jMl^E?hvSgrK84)PlYTEch|U{961v|d_$eRSLd5M_^0Ti|p4ER>j8UWP$WhJQ%T zUxsoigLM8l@T^^6O_4J(?_Kae_xw{s!5u~JPx}o4)UIym+bNq9mJ-*cBAi+IXVF3$ zcK(lK=E03r?+nke2M578e*^2p6Klee7T-rZdpwo$IkaA=1eqYb~1OJ&Xq1~eg z)w$eKwg3GEM9u$?r?U!*tBaO!AcWxV1b26LcNyHB;0{3p!GinX?(XjH?!n#N8T8J7 ztL}Z{g`#RWv(MVSy1%CKcwBJ+_dG-&d1{?~0oT0d=v0yxnt=f-7nyd7*}Q`vzSU;? zRMO@pi+WoZVDm-_WI4ytROZo~u5O3prFmImibb}7R6gJ!+4m&-j!o!p9?W-T!$AtA zV*%i_=SpXh1r2KTg9&)~vm>?V8aKCe*sZQ0RxBb0QlJWgWUFaM(9WPkXMkZP>VVs? zN9c3+rq;bj)h$3P+XYnP6?I_;1iD4KJ;cadj1@r%HJozpky+buYQsNu37*_)jQDUv zFl9L2A~-=a`AXHIxu3v&vv;N5A~oB=i5j>2^`eu7>*}IA=Dp*c@sHb!P=v}Uy#%cI zL{x5%NDs4VA_do|kVSUJZ*Ui)GPJmMoLL1)s{BlF>O1`tKQr4aJXQd6&`vDzc@HrM;S@$%Ikf8KWU|ZL0dQeQbmOH? z#^Nf*#5Wx?j?5i#j%SD1v4vDk$K`HX{1-X3iDVV0n(e|vv0*R`VQETJA*m&oWFwhR z(zjn=HFo$&nECt3Z3u=kfkcMYg!M7hho_yZqVZUC>up_f;*v$Rg``f6;>y7uI$Kqb zsc?Vb#+3iz){S-+a_HG3*O|7hTfS>K;N91*?{UbDG3XiT+hDJoh{^Rm)W$}~|Bvox zo`OX{=GWR7A`oNICeG&TOdt{vH=^*%P95S`pJiC>0uNH^)L4AhZY%OP5h2I&4JdNx z3&IjvBgcv?xwtBS&ic#dbg$FMAuUx(_cnGw={J>^(64gsnW_FigDY@MTfnvGWy^)l z)iQN>o<&ydhsSi>PpfkL9?JycfMYW$5n%)HKC1Ny1Vi4=$2ZaWNis}nfnKqA@CRU0 zDB%$=4Dx8{3G2Kh%&*;j>V8uQAD*5SYzSwKH%k+>UWYClak(|l4%X=r&EaWByFOm= z2J2rqS66we3Y`Y&nKAU^(sc_U#KPeh#Xh=?$Xud&$9)(O_a4Y1>wrq|(Fy#u2xAP) z1h4LiNA7^OHG@8d;jEsXmvH=K9#?(fu?71x9QkdddvNu%><%yVDA8+j$lV@?C3lw3|G<^D64f_{Nz{r#^-3`#-| z7|UFopkrh|plkddO)$2H`C^>J%c=g>^2WRWU9coc)XzvFnLg$mG|lHTA&}Frrx%>^ zFgkU{4iGO@G?9gqr+;rr%oPn7%sI|(4e#>^Z%B-Q;eS=%(a=Nnd8*|6+a;mTa`WjU zq!$iaEE$>!I1JC!(es#eH~EWKACdrY3|Z(CPHMr7mq^nQo`*n_mr+MYQM)v%sSuYy zA!CI-Gcx0OL0kLPkk@^YRF(;9o6Zk{N=P$eJg56cOI`zW=VDOeug%9K4;7{YH+x)$)gt9qct^*HvKDZ<_#j zB#q47!dV%YMB*dJm5XBx?yr(D4Z%=YvE%*gb9+Y`Mu*M^UUYKd#tc>I3?ZK&Qw4Pm zvrP+0F;sy&>dNWL!BVgtYcGyinj-kgZQg9_J6*+d(gRCYv)0QV=cYtEPrg@9!`yVt zo{~5qwNsA6GzMPpwIJhx<*t_>OkK~U5f_x7d!N@41uHn(b!$~=@;p|QXm<2YKb$_^ zBG!Fht*AONRaxr4YqX_d8IM+w$T)wD3cXwSyh-^2iQWf>rQ=a!jYss3JW4sy4yJT+ zVBW5a6mDNPpK4yUgp1&Pggn5*cidsoWUH>f8EnqEg0WG(7a72L@bTwQc-f*QI5<;) z76x&pxXbm?I?ioNmPIji_EOVie21K{Sw%2uerlkhm!Vr68%|WM#tc!^#x_*Mk+*c= z*n+G7J%&{l8y*F?jvSlPtecOS_n)0^woQFYi@duVt`Q#$H!O+;$VLe(3Sw}|B&UP(rT~p)=G?5~@GHDdl2WH1zMBA@Oz*W``0AWiN z5|UcOEZ1fXS_hFM>GYqjfx4!)a2|J93K8mQZ6Oc*5ufk78a_;pZ_$`~Td-O?nZ4(| zTP%%89q-Ab@f+PY?{jXXRKHJ)+~HgQ*Q77q)69(IGghazoP~~Kbg7JfsBK>?m8!~rNa_=K64{#GlRv-g*B$)*}r=Dl6xd44*~3x zGSFmw)=|xWVVNj+I%mkVEWsR6p^4ljce(WeZd?>2;M78}kzKt-jRgL#Qr5lVNN zvHmA~1!TYMiZ@bzw;UbHtjmG}!OI3FPjmQh&r(EvI+M*=ubfgbnP#<% z!U!tj0(rZ*N$FUq_;C8newK+s?{m$dkQnx`jxThGmMQx@WX4t+WhEUsbW-BHds86F zPV!tP%S5jxU}` zJ0M@}@`Hbo^y8sdDrF3AT`S9PxLtLLqwWf0GT1DXr%n34e zc*Fgpmw8&H1a=a?5^mJrAmdOK2p5;iRQh>jG3!R?r4()I)FXo9XohTK?fCdY8W~<1 z8|fdG-Oiqwaz8U~9M3C|!A;H-V|U=cxhOXN1?;}PdbQ^!#sqtXIy&Tke0P2Ho@mqo z&%=4ZqdM%dBfaM3{7p-vNT*1rZg9%6MJ2UXGGR0njJ#O<`?G$iSm+&>ay0a3zDQb| z%ksum9{l9Thag>u#=ljk(f&-ukh`O)9Z$li4R>T;;(sgu@~D@&8py2+!yvx$t!h?jLzT^6RfjNy(N| zjnp;#&)eSrR#(Vm(Ej$5%;A9_etD{YeZdU^Hv`$VZFNIt6)T&UGq!_Q#BLqEIh_wn z=FvX{coQ`7DlOD0eia2i#?IY>|4ZYMe|bKq9o|X6e$46X?zaR#J<5i?tmHn^qz7vX zdDTvd)JMG+f=LWlVE5SuTh}KMy8XqZ$#HthI*lXSAs-||H=Xphq;xj7vZ<*PM39wz z4zq1#wW)Zt8d$`WPRO8_0n=Sc%EYI{&S@~Lu?SQ!zOAjTfg`ZAi(`Cp4ak3Rze|%R z$|g3FNu9X=(yz>BvTRyIp;FuJk@*-WKMW)>{?f!8`5oPMA3*%?Ep>}Jdc(w#k zuAX`ruG@t!&J&zQ^Z79+m!*rqoJB5A39FsNL%BBa+;#P+w*`pWGg$WEFG3quqfNyB zieUOvzka@15*wOEOsA3}Ni%wW{lbluwA{P& zCsm4_E7c9?q2P@`YdEdrJmFL6D*SpPiNASrniVVpJN(j|rqH}KKrFyjYPVOM#(@XG+^q@L|}B5Xw{WMC`rFsygT zEzqR-MXcEuXNKjxe%NOlb&)dD$-&^x5uDe9HG^8y;gP$H$w~$L?mYyRfZ1<-mXO=S zLLVsLJdNS@<ov5`U;Ka)sLj}c2@#3O(Gx)2>h7CHO-`nZ6-D3?W>t^U1{Q8=A z0%_eND_5wq(@*qHLb=BRw#kt{Y0@IRF7tSq1+PUD6*mhVrZaVnlt_E-e~qbWVg3Xg z(LYLJjyww_qFMghEW3jVm2&G&!vypU4Ds^NFr@%dl>#0}_ut?%Y8N(UEjrtTdF=St zE4j8v+CI+L#vy*bOcF!TSb|=MM_l%&)F~@{MTdP`Pri>UHvIRnDL>^B!*9kSVZkpjy5dwwFSe zT#XV;D5?{G15-dejvh&4$(hcG*mf_@)sH0;pW|q(vnVT#(?~rB{8>K=E<0n)?08sj zb@8Aj=EB>0S~+t|wPA`s-~qE~qQE1789!cKYis||1LLA>uxJbnxMEEwP@_CJUNFil zf}LR2x@q*5rLvW>>;9%N1TI5}MFIZt>1kzsU08N>UP)*;S1jb;zxBhB+Wdud1#rFdiaP10Xv>9y|qli z4eG|sKhU6h$r4)Y?wbmz!{5>vd^S&C4xvTmiV|QChW?zG1;~0g#Q))jOPQi27ZefU zC*8xsFjuf+SAmv4f|s1!K#?wLzc^|&h6H^Z%p z^Q4Oh5uX(MqU@nwW_&kWU+KO%B(ame%G|D-~pp+ak8obiI4mg ztwUqnD?QgL1#oY7iayxL*|q1mSD%O;18!Hb2Ex0JQ+$#qo`Wfdz5PK3MZ`Uc47Ycd8rlQ#dt;|VqqdT*>3{agK z$?t&C4XaVD0Lx;%-!C-0B7Nx&-BX4yY@d``$R}lGW9~tTkB$U1sCQ`(+#&~E%$!Sd zP0Z0w2G?RjFEaM~@Pb}@Jkf-Njwiw84ek2&U4AiiO6N7*pRpH}c8^GxuhZ=#qZuUO zeb7cGp(tqQ`*FLW#Tpr!WRNmbh@sFKcV)PyC!yf8PxQh94)eE*K1M~ zTj$`E`>+=@bgXGorN2wYV}i?o)9}`o_PHladYKjesYA@^6sYV+AP`U&04*tC3%+ms zJ2d)fjV$6qdX0!p-q!k*xIj%&S{Ba^*TJ>8zGxO zhKKvlDS`cBGvPZgys|W1w=ZXJi`|cRn^(U{X=ex?NJp<1T7;3cIlkiVYx!I)DQEVz!=- zy1yclfZzB_5VAJnU-?Gm{s{@@YSE`mTb$cEs4o89S>?29H{;KWUk-TM+9Er(tJ%=~ zZZlesdp8=?HUiLEYF34cZY!hlFRQ?5Qbkgfij*oQmkCP3JM+n}-MRwMI}hcfrl+4Z z%wd#bB!D98s!A#kY*~kleS9mExa;}JUmJ@TWnw~wrabzVTQ^)lWi+ora zG?X9`965u1sAmhY(myuK)u;ogPnR3TS{UaJ&FoUpZCo4H=^!aCC}Z{gp5oDur1s6Qt$BkIrj6- z;e)HgXV0^Y*YtDecL4Ez>yg3!N2h@OR@Yz@ezlSO;AUt0eVhJApW!o2Q9TWKEW+Sh zOMkmO5`5C9_UYD!ed!H52Z_ATwytq0?pfa2+MJbGhpC95mo_%|@#|;_?VjnQpauzQ9y^GsLS>tbiKWch%w%Mo0KptxpZyIfP;-=QP)M}XJ@eb3c%1eDeBrg;1 z%+6{7;&X@Ux3L%`&F&SgN79Z{U7@e#wIS%(MrwM0R)0s_wuUj+MLqd^>(JeJ&C6}& z!`M7bjzJ1N#r2OQ(qxRO9$tP@*}*?O?xSpmg7~+1zpUhg@3^3n_74af1vez+3I6J& z3ELQ6t_;1BWh5u)?D3^2a%Hu`i)`DsE{sY^SYz|~mb+5S5Hz~}t|IKW(bUkJ@**{}PH*0RimS=< zwE3Mzw2$TZmyNM3u};GOod2e+uc|YQ&X;_`H`z{A+yUB-lxPl?F{u*t&a^P}$Wr>e z`ivBM$QK%NZ29XJ&Cf(r*Cz!V))rREe15e-q7n7B&RgMxsI7Ce`TqKL5Yr`!CqsBi zbp7$l1)7mthTV&uuUGx`i;J6=dpm4Hu4J`l_KXET3a5$-Adum}D$56SODVgDI)^@W zdN{?L;}*pkFQm%OpT~86iehqnx-;DW_yEpskhRHP=N>I9%gNv>^UBbO-HwR@=8#p2 zSj9+L5-FzPT~Uk_E(*0(zzrq13Q`Er1VOjXs-{qhqn$cAqh*|s6+kFJBpjv$fCTZF zxlaRggZ*cR3Qh}V;i|Ubm+wvy^%A|+KBx8ny_w=DF(s;y%CeHloD_GMM}%GW3bA=s zg?0}opTN04QSNc{rg0&Xoo|a&GgST!Os=Wq9-DC70p^f=?IVP! zRZyfb^=;i30yJru_#lww0Q)qL070Aug*Wo_zs`H8bj>OnHQtTjH?U%&Ti{=g1a) zv-m*4npK{l`i3IY(>8JLz(x+<>x~xM+UuwYW^!d{&E$^zT^E=$GEshaSr$SCkB7zO zV?=0fToL76plEq)&0_HeuE}YJFwJ2-Yy=2M4KDqglS6CkCs|w0GU?J{PMF~k7^HvR5xtu#GiOc-%g$*;&TZaO;-7S3#Aik!a&mH}Odn1B zBx}1s5`_VKaHxNiY^RIi5x@kj&R)8H@kc`cIiKOa=^dlkJZZ^Fshrj^f+`z(;L`Mh zkFflg{-+Cl^jh;(&C=ENY>aQ{%?e9dTmWNuB)_4NwUm{0*(zyZY{A7r{N7CvSN98t z{YIOdhKFDNTw2rvV$hs)DNfasO#B}ZDdj?Z%|ojtoVJpSykExl%2@A@%Nz zvLGWp^6=ntI7;-|IBbZ^5`~aSjDo`jX;gpKVqaf}!K)hC;rkty&yCM(q3Zpq_m4jh z4-Z!XYIk`zv%e$qH1uW!!r&2&pQ0KA9m}gLB1P~IC`vM_ofPR4wT=b@t@n4DQg5BJ zI%hKAX;;(rS35%!_PjF)2~dw?72Sn18p7tWXlHzf4dXuF-A|spU3u-AIJv+x!Nei_ z80*n-32``SJb5ntI41Qphk-u1YnxpFH)*;YQnVs$d=P6o>Ohh&*J1A{0*M;>gyKPh#8T;!ff@KezE%o30_B zE2v}rty%3m^&SCiXDWE-@O^EM?CzBukVNezi9-u+rq~h3_g?acE{CauWix?A19cV6 z(`!rssX3CGG2 zI_qXYOhfG1xdTRJxOe&9=j4v>rc85T3wvV+HxJJ*2DCnb#I|ti?eRE<=il1l=jSP0 zWr+b}O0y`>@^T1EINjHKZ@qHQCRil+GLhE==09Xle%9(Hb(?&%Ln+T&&ANgbmyjDd z+@=*&{=sAwb|hSx{~fvIVO7)P;1+AoS+RhEsC&+$cq?BEdX}%n^D{_OiO{4?i8ui3 zgjj-mJgNvfh znyWC(h=>E9E5v8{-~9Had{gohuK2O9H#@)6WARk}itrSaux#&!}e~>cG7;XLpRzrLcbEtA6 zNiY$DhXj;@*Ov(y5v z3QUwV88jfqzcHokry%}aoM`veoz|SD3P!0ncK%^p$ zQgn*qv=$Mn?J|OcIB}m6u>Ole2y$z_)t1w^#5CAK$VPd=wfX8osVBOYfzeEob-Og}P37@SB45 zhPj0lev35ol(zkke)KAX&WX)V^pAwkX9o|o?noNi!H-@rgq`7I%<%o}EwlR_e!ZSfu)c|ZHPE{VDXzQ2W{ypYi1N)Oq(%(YHmRuHR2F=P=a)&qv9?MH$U%dboQA! zt_$P*`w~s_Wnb3w1V?A}u`jtpw8|0I>oU64R z*s)19Z+1MALcNt?pC%?K+G`d|^HEFI{DPj~3wT@1m3@v()u_sc>uy#iZb3q}%mW+( zQ|myCBx$@c5XQy{iMr$FoMRWiPzYZpS8Jx_-ycI2MP1Pj1*Cl6b!a5-XficqyD?41 z5pWC2v#&ayI~}XxZv1s04JW^!GhUYtG@ru%PJsM98W|@l@SxFwsu(osWm38Z2|^fC}MfeXtAPgfB~T`2^g#$ax~kSW*ZM3Dfo( zRff1lYxP8Y4V%l&zB~@q%)+^SduQqX*ra*=iHQ4Rt5Av|`<$&HtMvO}uD2{#j!Qt@ zCTY~`!$#TiXh!R{zZulegy4BFhviRQdiE{wSN0c~EX5Rtj!0`8n}orYQ1ZxGfV2_f z+B=raX@0hSHvMzrv~TM17zLyLhRN$F)xXtE%5271?MW$npA_M5bfP9X93nVq6okDz zhVn3Rw&W023?tW>ThRT|_O!mcO7AUC-LU?#BsTb8{T5Wh=`^byYy3tIUt-(2wvI|| zH2(vBv~{|Sra#=!jR!2d%WssWnm7$Og<7*JR93cthRzWF9C0?|7P|0e28qE3FZjHe z#k3^e*me*0S!UGfUEafH>@6Hx;=7pJAx0KdIA>TQ=?|%3^C&i@?&JQR9p?T_GtN;~ z$t{c_6NYO*lJ*iftoI~C1>(?1^AZ4K8~R`LYH)xkN|P4nOy5Ao(r=p$ zvyTG~B^M^(&x(m+(gAmE4(kW8c4`{670WcMS0DrtXk^&)5p?wYhTScy&zGmAyhs7q zXZ|TEnELWJ>@oQHAtsPkg}L7G2#N0o45W^VQ6;2B;RUw{Oz3V3xlBsr zG|X3_K^a|GsSv4h7(AM9AtB$jY~@>oT*IIle?N{$ zd14*-0A@u1tsiaf7bY8!#+YWybXa@69F{dgSF$IJ0>M`WYgLj$GccR3eo%1erI997 zWw&9_HBD6$l8hY17}4j_y?dnkbJYPA3PO|)+{)~ETGpo{rLIZ1Y08ku2D5e^!hyIj ztTfR$x9=HdjfXpgvwPU-IK`4G|9t27F@1NMZumY0-L)l&dOF1xibnx_rlj(Hvg-!X zz7(d$GcZUKsU@@^%c@?en4G@X4dFG=J&!qjZbf!~yxyBCs86N-f}TM~XksEM&?!Zn zYV3zB#O$<>0lEHCl);*@Z%&_Pm4q3cokf+%s^!FqC5M#`19tu4P&7IV2Va+8Y<_3B zx$4r$f5z>nooPRqWC$m`<*7cdfy`7>QOvub7?NDA}H%8FpzV&oT+ zv%^&8`b*V94jNg`p>6)EKniRp&n z<6PtEm`kHy&Z>Jmog@5>*QBy{2~)G$wzhRitmI2^{BYv`YVMtC&y2Hois4fG#B^g> z+#$*`JFzO&b(D62*VxYm@AOxtK~?tTvVt%7e>TRy`tD?R z_8QyZ`V>okcU@4MGgr#omrbdMdJr!pk>>r0#`+T^! zxLSo!RqN+sQcCYA`dKW>#oZOGb}acj8$`b3FN3x980<)Skd0tASgg`6m{|9HSxB<-${E~Qfpb|gwi8| zsO3k1qtUJ-vM~mEf6j0Hyy#7-YvPv{lf3xTv1QJlI!9PFzu7v()cFGaxq~b)OfqwI z9}2}kQS<}LMU*}BSF$cLQC%%3F%8`dExDp-0p>(mdKDDH#u&=Uh1r*8xGO%rX8gu8 z_%%(O_g``~##X_$@&Yq$NxnG@&oD$11kpPB;xtU~3?;{_<8SY?h%!V1_}8n3yVj1s zEeo0HZ0;V?`0+=WhPM*kdCWQVW9nVUCY)llGUf#Moe)>ue&f2rNvO_^x%6~?2uVnq znk7a5qT(?$@jD=-cPoe^P0$FuTJ+*f2{NWA-)^fvPTh@%o9H-}TKj+DPLdJD1;2zH z5;2qM(iUVWIZ)dmXCnX|#9yC8o=YE`m9Qb_)w;SUF=O6rxs?>F$0E=7A*hgJLOGex z0c?D$R5H!@hslQccIXK7nl3*@n%54__knFyu<1q3F|lamVSbXg9m2Bya9^{Z7>s;= zNm7vKB`P18hUZ<^8m|P5Tj3{bZbK%)nJ!DOW(bui5nF~wPZ_fKV^X4r_ z*G$Phh+&gvS}s^!iWUH^_UlljVBZapZF~ZUbOO-=Y-@AI;MM4r{q-ndLx;%tGGF8! zXnvdNHqTRpsRCpFS%-_?EG~DCy*6Lfjli+0lIC;1FRXb5IY!YN_%|Tdj4G#x@9m*e z7WF}`Dm|U02_I~$ObwX|)-_$?+p#|d>rwhXKhw2_`#VQ{Q>-Xj7=IFOD>O0k6yt0i zm{QjGhTl(O*!AG%HPvU`MvG^(s$xv6X&rQs_S{>xO6A2qUFKq7)p$?XF6Avg{xiz% z!)2V`J{Qlqk?HcFF3o`&92>m>Ac^aPkv9DX_?18*2e_LSXHOr2uC8P_!&%!rb#v-7 zG!)B1nDi17QyY4$9Ulu$6njjeU2H)il6GlYi~!{O$sbF&hBdrLC#je zhYFsd<+yso=%5^jxPCYD$|7V-BnMiQnRC2_&kcO`L9rm{t031DPsYQ*Sj}P{Ge@T) zvMFN3Nyd05$H&n0httR5)+@!3?v|3i+*q4%*&k}P$<+(0cIi*Ap*CpK1F$`!B)YYV zRS-lr?O1Bc<8vL0&y{tUh%6LS6ObQBc6qU3YT=!r{JmuC`Z{wByr9eBV^P+bhkb~?PTQwPw}3s*mC#$rIKC8 zS{aLEXa4hT8MLBVrJDRrght-AIiDu|jyZ>O7HXu0ZAoZZF%J!!ZMT@S zXL|8DlA-SdN0s0wzcHGVjccE_P1MmGXM9>)TyBU}dgnYFR-coA?8zX+7~W}HpVlZ? z+;8~R)Y_hs`zp|;{dGTIb;P34SWnp(MYM2M?qF&mTlJ5o`_;!QJ*r&t$?2Gt~~`-gG=QHUA-i;lt%C3>*Gii z&>GNyD;dJx+z|{S@E5seIwVm0E5JIStsPRy*f&|&I#7^z^HE1Kn4MH7cszgcYc{ut z6>~68n07|RDA6Gj$A)FWSE25M%}{d9bxtsGF(WInfmbXtLPRdB^mi`M9G8LSxM}T2 z4E8ZKam6=@)VLtj`~=gbzha+nDXT|1a9cla=ZpK+Sn*nOQH~J4u23sC0G07(z);bi zMJQ2JsPG=xJdKDCo%EBI!QKyu*2acaePEJV1cEAlWPQrm_93pP0mD4K6H*`ZPgBzo zM{Xm|^!OqxvG%Iby0nc41r+ejuScg_sd_no!r5B&=Cb{2S3DFIf;7_e>JcKug6iC0 zvk!MmYsK#wW$(>(1xE>}5D#U;FwOst0IvNdR97bf7A)E&FklS;Mr?U0ki`0!g<+)m z2*8%E1khT?eES=vGCx zqTXO=b)W-izV!Axf?OdM?R0h9u^}Fa+<6Zsk-VR66=tsKrzmoK_pl$`5Bqq z4=o2CY%G)IO}y@C7g1o0q}+aI0{c2L zu!JWC(7;fa)>fN5v&@J^{4!BRiU<QiedtoV z!Sl<5#}ORIo1C0fzri1dodew|U<`w!iq+0%hp+pEBGQvyemzFa!ZsJ_DRfF@e%VoX z%Clu7+&qHj{QBE4wNsvnK@273k<4(gdm~3>e61BjsCf{^ZFjFz5Tcy0Fq2!qUn__$ z-Pa=1LaBp;+xku@Zq{!;-4H<{;rAeAiHf|wAdD^QbS$g`YwE*+Dsluhbp3C5um67- zZ+XUXY%m7e73F%K)WFYD>p?9oDo7r*PK$HFv(6yyJqjL?w8F!~m@Md>M)Eo(7 zFd;oQ>94p_rCVk$E`S0>D+0y)6-&e4;W65M&+yqP~Oed_*Gi9D(~kFTfcSvcR>htTKe|ausT`&U(9B1p7h<=oBAH zk%b2zof0CV!>CrPhD+O#okpwu5usYBV^Zn;yHH4ZZW%l<_QzEWbA33r&>I5ahbf-b z&8-6J+-uF(N`ZYkn12e0^RpzK1|iHUP`Tn7@qIcU&)FdK`*wncZ@{Zd3-guO=5OFy z(uz#h(?@d8Qy0i*b$RP^egJuvRNMzZX+s3|&9= z^Xb_&;#zhiX8s^_w6jT1U_S8R-ANUZ#=!c4jj3YITNy;Yptb@0RV^24%A2VQZ;7}} zGamo(f|7m|)YuP%*PAm3V0}!*q2NZj1}K&XyClue!hCm~!?O1dneKW-YAbZYJZ@Q( ze)TbCGnfF)VRsF5--IE1*R=(C8nC7w`Rs#|yWkNSzCl*$d4dIg_vZmBhiiDhrz=*% z7;qTg%)%mM+UJmsP@W1(I@k`WQ>O%)cMoOG`zZd`#ONqZWrKoxB6Vdg4CNl|a+QGG zs{Na}&OCnAyj%3c1wjVpLSo^(qGO{m=Z>?qXSJx{}4j&BD1z_vGj(3n1ReP9*E7 zq8d4M@(__{-RWSC0vJ?B&%9(ri<|=25W`PXj!=n_-p}c#&zhY{T#I82K+?O|i!XqY zi4RK1-;+%97B`@0R&ZTi8sY^MtgLDcFLYg3MvP&L$j(|n%>u?8-s`ta;$X{kh{dJn zWJ=G#HqUgEzSss{YE0!M3ahl(78v7i{?@NJHUGvB<{Bh^P-SF9atq*sdy04n2q4j@ z-YgpETk?qW%47qC(c%2zh?SFAb!$=-teRDRHE}7c#B1`<%C7kC;z>z;m#>2a^Y(A) z?!gSyQ7qj4Nw;0<2iCbfBQS<2AM5=CZwh1qg%p|q6;`+`=Xt%&IDbQ<0&}_9IjO27 zAi-w`FylDWO^-anOfXTjCl@VJV>S8okS!oqBXNpXR_8!duw#gz|4Jo2&*{+lz-g`> ze*|A~hf3PNgXcfTO%=L_QOVK7dT!8$FvU8}YQOH`Z*`-7m|D1YQD1*>aGPH*=5>Me z`u+QY+u-FTV|#LyVv+*JMPH6{r8$XC70u)fcr&^bZD*}9Z?R>n6Y)WO;-4R~+c=InPqxal_ z@uqRJa$@*g!#hivWb?`lDjUK7Q~Y_sa0IF*WWIoDYz~nr1Rxc}>uqkByZ(|ad7v%l zj-D>eU%HZeU9++va zNW93N)uQh~+}yAydpZyU?SyU-bFroj4k(MC9uvIE@rQQDpO}5ca>|1!_(9*KG|BlN zWw!D^moWLg_EwzYn*AUDpmQl02Pi7@pa@xLco;jc>AQa)k!1Vs>3>{D70VPpxfcTZ z-tI9pbyyQnsbE1Sk_Ki4m7Jfm+3)0rT`nWVU9JgcHD{e->d`c8W43=wWdB|OEtvF8 zELtQm5MVLPRxlQ2S5|OUk}2F$xlmysscgW7U|{L*7trYH!rifPP+KG}alPv`mM8jE zU8c=D?4dY&yOOW@IV}4_yQYrElKWPo_pG|hUzAx7pHrersDWO4MOLQak#&z5M(dpD zdaO|2Yt`A=CxER>wTl`de-G?hA{4=4XQfa&@OjE~_uK&$hl)zzNKO>FL?aX3{ua6> z9l|TPosV_z_DwijX7aQ$cZs1U7k#nSs*T^yBnm%OcDx|tYVkXwL{^G!X=}Y?bNA<- zX~;{VuII0J3rjHZKX&7B#l@2-!)$+NG$z)ft|2uON(U%W`ncNQYis`kx8Uj|cer~= zuCI_gyXf>e8^Y-^fK81u#5|*Nw)&<}6^PJg{w6Akp=GoOrAM{7bv z9x*H#8U+s@f6n|FU=TF{gaGTh^rB|oTikVxl~9k`8D+=W|HT4fNyH9w16(*6MT!E^ zTIu;TC9v7)mM-*O?04Hvd~m%m*N}LP?suA?1^E%t{cvYnamAc^^j6({9ntZ83qN3$ z&h-044nsoZhXnuKF5;5c@2-!j_Kb`yQsBVC-!k_5m#-Ot+*WtjW&`6yAK(m+kVO2i z5iDF4>+mw$9NwHl@!&EV73+q_8%~uMdYjqjo5TR_=+ww5%Vu=W=D$V+5|^+gLkk5m zyTu1+NJvjSg1r9`tV|Kg;&v3qQI{5>WXTHiNAAbQ_0#97`4s2@fWwI))v*q7xnK224%i!h|2f&7`$qW4^clY0v<@euGSpK#( zi5m}$o}ez_FoiM7)zJl zfaWsgYb3opYE!*V(e+s*wSMfobCuG zZDk`^F4ku=lLgW`VL%ATBZ^){4;$iB zz3+@>M+LD4M@tVUL=Edq#f9MDB|O!{z8xhOau)D_O;eDbY_NK8C5o?%odENIkQdRfn(aY{y^~|woi*we4qAL*()zFZ6nyik z?l=2dvErhutyPel|`vY5>;$dEt@-*;0&Vui!h zHMW65EsI?#6+);LE%1EOD_1#cVnvv?D=>j|)&q8$7jw-7SqixdnD>)45JDrI*cb{sMB_FGAk_>O17~1us4KB7ssXpZ0RMT^?kl z5FR8IYTo|xtNg%vOgqq=O{U)Wl;=n#o9?hV_e=}H=K6q7{NTrV@ZbT1L6=UtPF5DY z`PDc0z8`q8k;YlN-44#d=xjp2m%v4tU=tOy^oDt9l;6>m1EXO7z1zIB`y_APxl3z% zn=CIG^am`a6GB_iQjUWlq;S5~afaq>x**7BJhRc^>CJ5pPtWKWLtPqfolXgY7-}YsJWuL9M}{JmFW=EEXB%JR|9}$Y(Put|w2(w$2+l`_937ufW+hSt zK4PSHly#2QlD)nAC?Sx-FzB_3lNL8`?K7EM4j#@pKAqyECX75~ytbx^2y0ZL2#VPZ zYc;|u0x5};$a`pQO&G^$?IpQYWwFLFp3R9PLE2JuWQ1{oC~c9K1wt#75}2xHZSyMD zSjv1szL?`oNmj$v^Qu$}nP9

      ?yY?h%_jA}@>X}e3O)26HnvMlHA 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

      >;1QMxZQyV=q1R~>rJ0{aw3hy0 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 z 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

      |Zm?7MDn;u1&LB|nw)TWoD{-ccyUvJlkU*XZRb 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

      $_w+<9t=Ju`tKq{jdH@`u%y7$x`%`U~}gh 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

      KvC zIIyfXveFROhsms#ae@OF?Jxx z(iEjU2s1Bo25F8d98MM(;aK17ad~cox%qX9!m_^BW1=QWnzbG7gJ0_D9f;NTV!^Y- z{O3-o)0eNow)b3?Key0V7zrPfaUy3&Q?|Lk&&w!_3KUpf>LG%9?EAJ|;Q?Z@thACU zz*x(|r7KudAe5rsY*OTg&gKTS3D04%&fb_@Zd^C6Z=}I@U>rqWV6EACFo&9w-Zua# z2(UO|s8(Yi=Eo38i>M9p#Kj&HHOJq7`eCfDP#rx0G9=ubZCp^lX>!< zlGo}sL#l|M?>IE84yg)MC z*q(ql4a7U}k_;?kq{0Dhm z3T~R3Wnp!dt6NtXb_L0lLW*&!p`%(K#@HHxQfR68n@68!*;pQU?H$~&0}oph0+}Qn zy8UL>HgYcX9o=}8OBb%NS)Ahb3B{oi!NPLNa|@g3o}-&3q(Q{!=m@Q5gP~>vttC+$ z64jgj12^olZU>0*CPU2z`|i7o7mI|;xnxg!lil^*I2X|Fc6sjHI(GI>npQKt`2vTl zIb!!LGq>G@R0V-GTs(2YgVl^Jfl!W4A^GBb&PXMrdQg`KeD|vF>leTLEc-V$Ikxga zUi*)KlnoNl5m6LF7$C#Y+kJOBeQkM;NLjyhiu2EY8Ew6N%$8lXzGA~r*aBREv!1m6 zeeeH%{@{0ii>2vFnnNvAtPw$-AN;}h^QFhWfUYPeCdQeV9_Q+n1(IM4i}5sFCFx7a z&;GmL;sZbT6I7Zb+}9i;h$4*j-P8YX2HrB}_0_}t*Nk;+54@txrOIpSuk+3kV{-B$ zLrRBY+kRL6+P1%mvKvfZSBYc|S(=mO1v>PqqTLRGm3BS3jgS(S!dYacLa)eB13}X5 z(eL)XU9tq~m@Z~a$_p^*`mmX;`-C9n!> zEVtfzE6>09B30AEIP3F&uYieNx4aORP{sVnkNy}-a~JvaXFkcTx8B9{^b}DgL8t&B z1JK&5O42X%w(X8m`k%Ly3Mb``pIr#CqZ)1hT(=h*QYa6-F^0?(L{Z|a%JAQlmvJoC z7(V~`hZ$+LNU907T9sLWwc8g;^; zf|P==C|EoBGUDX>POS3ger@h9N%je0{9;*DzQBtwKzQNYU z7TI6`*7`iMRs=zSF@6yCrh$y9$x${hte}M=&kL-DqOe4fuT!$lmgHt|dEqU-4ha3% zWy<)4wHCLtM)J$4++@fi=D=-78PkH#{n4NE^ojE{qAGz9oa$_Grq|`B#t;)x6(w_K zlPc$WZMvH|LoLOgnQ1mVf{o6y9~PxVE5#r;NH^f~fBOi{$#M4HG((a0nVg!u@iJUDXW`pjD^BTR#*Fc`I%F!Z*&nT0&RKSo9_gd zm(VY@V^)aBe3{ElTL#_W#>fh_6?Fh4l4WuB^inrAjNx_q{*gI9y?{uyXgH?AAkH`3sHe65GImbA=> zDy3)ykoIz90wN5Ej3G`!!b(VC3N#9>G)l%0)!1BmiF@rO0umNibLQL-M^w(32zb8J zXL)4>F(_Dn`3c@!hlc3##9W`bmL-lSkj~+hAeRa2PO~?Oh=ZJpkXWfnb5q&~B?OMX zk__;jl(xWcM|b)(B}i`#a$F<3%2EwM`GHL+N0?M$ps+};WCguugZ{!2EN(ICVh)W7 zjtRDzMZVq#pgd!j)#(WMPDqO;b<7{haO3!F24 zd+1U50Y%@?GuIyKy*%TYOH0gkPm((@+LH_OBEuR>wN}OCo&+M4Km2WP8)cx`>~@JN zRkR9-!U(N3R(firD63B#o|-L{Kfr4dAgmxamfRLt=P)J*EUqYMRI3C!z#2ng3cCG1 z{VYY4s-;&Tw9iGN5Z3U657wC48?$nGm8szdbuHK<2Q;p(v)8m44;*pU<+j87utmng zV#*-R7@r*C@Mumi^@n~_IQqFk;fPeZku{D$hE&4_?X?`6+wyz!=G0oN$*##UmKQoy zM`y?uSE*D(?wT4Q6Db!r2A~2QJ%U&<)~X|QK@th1v>+f%Li+g-&z@i5p2-P@_K$O5 zWRk7*Esi3ZBo#sa1z@XI|jmpi4Iz;^19((;TWH@`AZz z&-13EyIJk0oEmtW{=RUN-J>~!nqzINU~ABYFeFOXU-f-mt2K$@n5RGXr*s!CGW6hE z7`f*moU_z}n$I%H>uKi-A#&89&2Rqn|AMeR3hOXM;qAZ5cRd$Hj&TNE{;9$^X7}u& zJs2>5p4KF`$d8Ke?48$-;`&og)NBKN%JZZeS*Rw59PO3g3) zyZ@bE{lG6XJn}3zzxDy2$CTG>pY_(T;>7|#sBcui=yajV|a*~bp_3}U} zNC!EG4jpE7eXZ;uwJ7m*?0-&@JCG`3X!Zba|DGSY2RyW(^N)Sp(x1VDbyUZZ1aCISMO>WW@b^2z25(Pm`aqiLzNu-fdu+lG( z_?Cf{e8BCu*4cNog_8y+LWBmFLvy&!;=&?Ygnsb0P-KoE79|i(_`JM>;`;n%ss8nI z$6_BYt#wFh2_kf)iKJhvAZv<_4$#WS2M+GLnS0;(tpstyGmLi@Afn8UDuf8Iu53%U z7K;U?Xbg|i93CSZ^yv3GEMC1rzu%=g)S%jGP~AMLZn1GKnh8b|_*+swHl+wpSaxkVqVzGsH(U`!YlpmsFO(~XFyBwIA;rykm zq(wv|1TNBO9g!6o25+klfwjx?tSm2a`#m>t>B4!GifD|q&?w?q6Gj!ngEw*fx#tKg zz7yLB!`X{leC{8fqu;aG0=nG+?RJOmAR`Py`hx*d1S~CWp#tsej@ zNLmRDRRVh5Eqc8+m83!t3D!0?$wkC;E8zay_p-IsX06j_v)5;0e3+?`R@v7l$@78$ zLp5?#qNE%y1-&dqNJ&_U>1P>IDQ~B<24_G^O%N%DDj`y7vvK!=k!;|HNZ0sSl|%QO1@9(iF9#j^g|E_U$|O|5s5%w+~I;mb^X47DWyvM924CZ>zl9l^NF!$zD$M11?}q&Y<5Z zA2!}jx2;$RbMiD}(C@LbvdqZn7*a{Xzz-VR zL-w}AgRktmEeAv=1V#vuuy4-+{_6kuJ#N42ZjcqEYVd7uf0sXmTey7r5_MT6DyvuC z`ObIqna_TXZnw|S$QZV)V8a)`*ERqEAOJ~3K~(ujM6=mKDaq!>IzbrVoTE{zV{+qj zirSXIudlSK`#f@iC$v@?!+iUDzK4@1Pm;98h?IXuc>s|tSC?X^DS*-r%eH#Mc2>K5 zKb98s?PZ77iZo3DNf3raVR+r5!<0(AWqEmtPPfg-@DSBXOr??#hcW*bdv6|O*_GFK ze$IC9ef!INxmT$wt5m8gwWQYGQt!}BZw3ZzGnfIwV-qo$hzY=8d(1EaOgLst)4&ig zHg<$(7#i?2V8D2qrs-BUjnzU+Z`xXGsYrOJHo-E)7-_xt%qQH4qj|MC}q0iE`+($G0{m?L-G!~D@>H0I}tjieTPq_P0> zKn%Y)r9o-do_`9_-(Y5Gj!Bx~eDIgnD{r3aT&YHY4K|*_;c`drEVtGT%Bhg2EH#^H z%B8&?DT>HRG72o^K-fbe1jF31HOSCXkjjE)HKSdT%(Ysazp_L1h-7ZI!6?u0BIebz z8}vM+lY-@jVK8(|tRof*CnQc-#(5F^?J}a2B%y_*KS^oMcIfZ*g5tkA;o>*XMzKyAAbgXekFfj(S!YYZvvC-Y)GoSzWeDFK| zHc_QM<(BNn-uM#0iBNcJxwd|hYP~_E4Mh?1hJ{Y3G$L+o&oD`c410ZgdwV$7r(SPR zuQwS_Qug+C*;?P^!s{2w#*Q?#oV&b%aGJ?zT++)W-WB9|j_T~5KL$I1F;vScsXCx%Evk@|PG^#No zg2WoeE@!S1qYB3hudj1rb&n{#B@pcfYl$atY6#6QDwNl%q(W;YX*L>D z6;D`7$RM|t3NJif3Zhz#B2TAuZCiq~taC_7`Fyx}-MnsI-!hHweTSCW8xGjbawbJV z<_UlhqY$brGOQzx6_Fj06ovrZ!;P8sWqz1XS=+z)??-FW2|&) zd~Ll;LC&FLRc3~g_5PT_Xu`vDb)wM@FKwq>J90aE<_HK&o{gD_Dzqz_@peX5SjK6_ z?$#~^0h4b^UtX5w6nS1&llwWnE)+E-s?WcnLY8GwnCCeLDAEb-JY{A$VWy?2Y;-x5 zShNzHTB)&mTa!l9a42(RdB}>iUZ7Mcx|Fm*ZY;vK!9+2+bqv##ac((zc#iM9;{?_g zbc+d>wzgTFZ7|nvkQScIS(JkxeE4>b+;W6^wF*ihq?nQfMd2x|qi{i9Y+aCzC6yQ* zg=u8?5hZrNuoeQT%BDrA6089>&w~Whg0mj$J-I7Nilq-Z%Fcrd6I5GR@*)J;?{B(X zq4BN=n^NbI9{RgE!j6%E(Fx84PueZ*3M#Xtl>! z=QIx=<=U2JGlADG4YA`Eb1jQk5$l^9B=ruh)(qCV&;SBnNrtr=>B=J2MxCvTn>;^G z(4FJd;uwde8n2+MZL(2;6bVfYjdYC@){yI;5{?GBn5LI}*uoQ)*uoje}R;!^@$eqloRzYdrhpqnv(NBE%7z zG>G)|4dm6US2=Rz2zegjZr=C4_W=^?VXxc6W*Ko32c?G(uSH(u?CkEaxVVT?fpCov z=VRH4euFSw90anK>3OG5ohHw7`rRJ0v$Iojsw}sC2j52_%NUazw!!L#_t)YvYQO0X z??)7wsVq7SBrH;fn3}JA^()kCHEQ)5NgNSHA)nab`TgJcRpfYp6^6Jr%dNNH!}75c zwCCrjBoaLwu=f13*xnv_v&yZv-^TFT8q2K)XI?*pmJ+OGes-4g7caf(`#P@Z(taSz z%=dywDmrz8DlFcF7@*y;VB{33vlyirmuexoKNN8=0Z2g(9Zi|jP7ST9;{N3-f7%_g zc5TSoa6$#kkNnU>M2Y89|M3EaE!gfuQ9z;;nYJjGU{%WcwUpcnj0$p7EhMM{X-Zp? z35qB$g2loMf!5#(hcPDHTR`q5>#1c=r9^Xe4s}*Y8WA#*=qN&Jfi#-Jy6|gZktRaR zFd)k1gst6mR+5uQC-A!bEQyjhENF)@*~k1TT5#k=CLU&EniF zTFdG1jWQ1#zrV?JU`(lUXyJt<$#Y(L@dawj^T<5sTyIFevclbWuacg-%;sxXX~Y#0 z4VewweUxXu-C#5x^TLa3^lVNnW3-02l2BNSma5#K#%SS*gyY(kEjsgcyc+TKXP)Nt zop(^HRdCMn>Z`AodB~b<;xWmPANbo3@$o-?lEEmax7Q^v1V%$|*az=9yg0}AeB@#7 zd`pLBJwgaqQqseHE4dDmdgIv^4h(+)HWmhyVN-0UG;nKe82o!te%*(9Py~BJuuPZn zRZ?KeA)6|_<|ZWa-Euu3WePHarhy3GosFq7trp^SXK6yuO7R-&>j$7AuMZ zOW{0)3!snJI#r~aAdN=lj!1#Ef}M%NX+g1dnNxm^dzLGlysg7{ZI!*v9_xE4Uw!o| zb8{Vfs=}u?HrSh6LXSuE)R-*pbB|o$P~1RgJsy4jEYHO&)b8jYoq#N5FU?tB-(_*R z!^V{>>=p@2?JDni+adnsu@@+09U%=~NphEy=XoIQd5_0q*$<`X##Pb5fApSFmQwL> z>GB@Wp1H^!w;W-7KBLm@GNWrOGzE8_Y7o^cAR|mH@KLB9Lh&66E+_NpA&Lm3*WoT? zsb`Q|o_X#?wy$guNrMxfVUe>^Z}3Kj zPxP^YzUjOtw_)3?ghVQV77`;BHJ`I9Btlx&H+HBgMP6ih9X32^nt>7s>B-ZSUY>&p z->Z=tXG5mmWIQIz3tEXm6%%HXn3Yb#)?i3?IAl0VX)he+>Zr@7KlvB@jqm*%B$W!H z2z16;UGky(?rQjvACyw2q-o?ILvS*lS_Hpz{}+Yu+0=GZ0=S;xYoB{b3zX)HN6 zcAT1@rBWF&TU)@^>crIqp&UY4dO7H%itUbIXN^1OGnVJu965QE$uMJkEII3Eh${<- z7-sW2S_+Oun)7i5p%oj$D*av0qO8yyjo6v3^W243-}HSwOvfBOa+He~FLL41C5+J= zSy;de%XsrLKle|5it%tjo)$C{jmi5+o0Ex%TxbL?z;lGaRH`Jk8c}54xM19$B;keP zfBp6UonQKef5x4=V{D$2WfPQ!pZxKk;*bCEkC>fb#zY0pMw9NK&y_1zsLi&B;0cE}eg!BS(&vp3HC`7iEUxL7%7Kn}e_pQaShIMx1qsGRx5ed7e)j zQc-%xgcRjOUzeMreV|oYe3h?7Q50lZhEWRPK`TA|^Q4lckJ^7@BkqIS*P{7{KmYT5 z?4SNLI?aidWU#kKCtD0#4S8L;B31Y~vos6eUrD?^DE)rpWikByAN?_Y{TF|R#@sxy ziILt1Ij=SxI<(3!|H?;s_`&-)v3iVJy@{^W&~buNhB%7&^q+r<_r34iiK7^$Jl1+< zW;*1#WiS{~tJQ+{pX)^_{O7@BqWr;(*0fqJ&Ye5Q>gp<5>*;oTf4Cy{JGXmLIR+cMY{3}elMbg_Q_Y*F^@-$|+LuIi=oK!GUu{^iTxpU{abm7YX z2aRuyacb$03YwLe;pTuu2(*%DsYp6ix;uM-r4dI=hT~vkDT%mRt1v9`o&v!b50ip+ ztHs_Z1!d@EDb>~tgK?L)%pPJ=jQQ*%uW@;EkHt=fGgnh4;|wDuh4kp$6UhSaEmw9@ z?ATF>!n4i^h4+#u7Gy4^*_vTE9ES)Y5BUUCT>&wLAF?*c=w*`G)ftu!t#GuNAhjts zpaLfX{K}UDu((>qIfph;cqmJS)FFOneQSf2m6HLI<(cw71Rkv5%GyiJHapC;7Z4)A z=#bZ?wISN+mgls%wFdR^8HfeWexa}>+nT%7eZftVt(ls`> zcLOvqPSALm z#*mH1T)nc%+@Tq^uWjs6{v7l!VTxg!L2XePX~WDG{b~Jmhj=LQij}b zKLr_RA4R$hg1S|3?j*kT)CO zo7c_jTdMJuKoS{*C|!HbV=1T_iFCnDp_QkigXFnzk|>Fon{6}N+UD^WFR~uTOonTW zdXnP{Z63J$6rX$b94}w(Gg_=Ozt`tfeSt5YeTg&q23v8#gV79+eeDw6Qx6i|eIHb- z^mlgnJEsik-a7Zr)TtFI_s)Bs-ZM-ODUfijyT=zk|2Ril z9g;{h9E~ZgrP+vCUG1Qi4h^fbXk~~@6b@cd<{dg89#+nUscGqTL6n|3?~wwmEOSM@ zMEG)hSArwPtp=(T9iaerFA&?W$;ixdSMIiJV%b*M!ji}B6yVr zLE>a>UKYE7+UQ(XZh`_yG04Ci!o#w6NIY6=7V33gz1n9uN?B{RP*H@gF7tZU=ghM& za@X4*U^3~kmG~cD~+wypX6!@N*yiUpRmE9R0zVR&y5THE})S@BM=xVSWeC$_#nfb#j)avyh?+>fYkh|yt$@IYo?&G5$`z3zp2Y#6L> zfN!{*7F3!uI4ijF`ir#YXHiLnQ<69a_zxfdmzZKqfu=SyL+9`BQcb{^&A`7VtuYjM&NwE^H34%FvomSnSM`XvgiVx6&K+=+|N{ym*B} zhi8bBh-xjN5}QCW6JaPD3%ELRG*m%kB;KX?%p;{E&pm5bHaKy78C&ECq3Dk@M774% z%@N)H1aY{-ou?Lw6OET1%Gf3+2wQFfi$N%ZE8lOS1GhtpkVCG#zzNCr_BxZvF58=3 zycZljaRMh40*RNN<(1p$?QN3V0hPFhL*jjb5Ef9=A)h#qeWuDN9Pd5o7^!1SRH4$C z0b7ve69&T}{a%kotHHv;410S$dfg$tbVBAlMmY=x-YTxFuTf1*fMnr;S}E<9*8x~1 z%{elH_4RACXPaRFW+J4BP%39M86jf>S;lSmpW-}%@wuxQEl3JSTgP;>KHaonTnve$ zkP$AVm_Fl`l-R;C9F2qj7KN08?agk8iE@@=IN;;=rE5x-eRje=3Q^Qozu6jaAYNBre!G7J%oxVoC&J7>CjS?)av~$?~PWqgM&0{ z-E@Jkn^4#0fvJ>j0qO>^(>5vM%3=((m%34W` z=4J_d)YAu!`p*CuZ(cXAo7ex}8eg^FABrgvHOP-NGK+C|j1W{j%-0MvEybnb1Y515 z4&TM@<{s}oUgdmOksN~0J^nS$Y;182&0>6k<+Q<46tTK7;F*`USZKCbzj~2B*!&uC zrOtfwbsFuM!L6F@^;bCk;5%5JTSSm@Wp~W0JCLgwYpPtC^l@>7bDq@M5RH)MIFTW& zn@#|&wAi9Rm>6HmXQsYB5&U0X3er5I&<+#Dw4w;>9d{jH;>8!Pl1;|UA3j7a(%gNh zN#+HG73G$+qy%bEQe$+DY9&I*0&Ns%#o6;)Bqn0uh7^gRqGA%Is8kKD_6%!&%(XP7 z-L8@73TuM_mwOqvF2vL##gWB1n)MhHm5@^@Lo?tUijw3k!vk4Kc|E`#!nCv06nZHF zJYzr5-S0zsz)Oc0ZkoNhPfab6mw4&XUY46}aa}6sHQrjRa|j)X+frB@5j(v-Tmh<5 zMTiWgb-9QUXf2UNxi0teIz6%UJp~GxpAsCkFL15^C1_M*?m1E8rHdPM2R#;~MCb@h zoixwzc)C}&Idfr~?b#Oksi){f594aHyzjqx7oYgIpC(&5&djZCma2lC!H{v^A-v<( zOmt`SVXb${&605-azCjTBX7$j;J0!if*;Y3eO+>-fyw7wg%pj+9JGnsvLv}0W!phSSe9P zQmHpNeB?Nt`8jkPm7BLv9NZwH5Mt`3J8|kXHn)8J+2=XBdIXuo48~*L_kj=c+|$o+ z%i+TmRm)HQ)Ia32pL>LMtBG!FjE)ZgqnJw9e&Q#7oZtAhU+4RO;0KtSU%*BMQB@MTkX9j+w>WRo-i z=7c~B8O|Dcz0r~cIj7P(fWp4n8SE5=)coi_`X~JP@BTKzdPco2{oP<6iE0&`4#f3t zw;P(aNR_B9F{N31f=%I#FfivVI*w`2&e7kw#_r|@t(g_#YNM2|OO%&9aNmPG_sp{h zDLH)NR-_J1zt#al^R~A=#25bR3q17DL(H^i5W*mY;JxpCFMshDpW*)d9-vmQPAR8T z=#=~~D-8Gl`&z9=quFFF9o6)aqYsZRE5B)n8lS_sI^-q^eV;+#blJ?M}6|WUFwY{ zz0GZw7M6JK$)`EAdW^%jo#Mr9{6RL``t? zx{Q;B7nBHJWUgTs&MqZ@2JZD_wNG<86lj$(p zIZsg(fuE6Q3D)R%Y6OC zEtI~>x4r9jn)L=g-DSC*BfMjjm1!5=P$(PDN$YXa1@+E18K?qf^cz!a%lJ+pEfN}W#L4+NihP@^g{QZ9neRHT zxiW-DzOv5upKkEu?|(PWL6+NaC>I`yVmusk;=u>l+3Rt^3bIa{6Nis7(`ZrXF~9OV z{{sD<_wmWEewDv_{~T3QVW}?oKwL1emw0WQAi8}O9kKfOT6tav&C=X^# zId#+_FHTC*Nsf$SL{0H!H{rSd7DgIkV`yHp2v=|@>yxJ$MjEbcZ1b5H&hh07msqY< zxNUxx#a5j-QYbCaIz%gYTY^nWxtEZVSZj<3q;0WJdM%@lViN(5yvWFGL6#O6rKw1b zRuWly<^t)mjC^noS?0DXMexraR1*?5Um>c&Q+O!6U_2@K^7$>^d3A?lOS4QSeY6P$ zmXIO@1e69qK}l&82ljN+ZQ}lBULcH_Ne0QCe>oRxGeVD}shTZchDfy#6dxYP6;v%51EZMC%F+_)V2sRizVnXTXny#eJo3pu zd{g)I;>=>1aT+A=MdtY87rw~m`c;ZN$6^uQ;)M*JB_Cwo-j<(pB=vfmqpK&FUphpq zHA`Hnl(9yx^ik{dmHvvENt*r-+b{AWMS+ur>!_0}vn!&~oqD`}Q79F1r;TReE* z18i(wrCOgR?E_h!l1|1Ya7mO+@BT*8qsl+W z34tU?OY!cTNPq6F=EbIBe2S3ackN!u_ zyz(khtI2XyA!UL{Dku}YjQ{obeIIF>qP6Dyh1Z#zo1@um@{x~xn5UlnGONc{X*TQA z*cu@M@%Lc!dwrAh27mHCDVuNx&9vJTMZs`1qFSkkMplNbq<#6i^Px%d-jzANfdsDP z^|&JMT={$me;3}7r#U;@J2ad1sjpWXLli|Qa$fw(qu?ij7%w$5oq3wAHY$$FVP{Nz z@i3R4eF7yV!|{M5NjQ7%bxxc(&KLgr3Fh{8d4-tAU%SkI_hUc7sI|nizyBw1>b`c~ zQ`n#~$|qx-wcOH5^vQSt03ZNKL_t)nBBe&z0xvRl$Bw;Gh9kl{PhOOAPy(E1Uj*vB zCo&qVJehaIKvgNCn!q_pZ_p)*CDtjNP-M#Byv63h8||$|N`;mMMj8rNV2nbE7@-u_ z3!E?*T|rkH9KCB9gd-b_$nqiSctASoBWfwWJ|xe;`61q_5U)n~S-mJD!<1lQ{s^^d zo6I{VSsF;{c}h_xKZNZz2=B38aCLJ7DPZoFd1jik)T$A-D3JTzlt>XSVQ%gi0?)?A z71C@#qrO1B-a?xQtqrmyQBN)OrO)(w?L;{|1g#||ssI)6EoSEz7>`6Odw^D&st}v(6;@?7GH!RoU=@_9OW!tsPOet`t6;-dP#w!y*!Vd z>oCqTF1>P&Y7tY{l1Z8)ydcA)l^{~4j7=<=eNs>qVX*Ciys&udaWcdt3K=$|4o`pB zr&5h^Ic#k7+3bxt^XfH@ELXYr_GMyY*zS&LQbB2lBPGuT&CXI8qxVKF`5WZT2fpIU z^{@ACYVQa<01eIt1w@`9jJzK2C?$o<$+9uhm{8+-$FRSRQW{i9zEDCk9*w9r49*rv zmz2ehFJYh(hon-evA7bkw>v;8U7jg7JKvkv&FfpP@nyg5+n=H%z&flQmxY5x_yX)0 zp)8StN+vKan1GMcooSnsjUGZBJZ>M*%gn#gDnf=mk1viQ?V;jG1FIk^lQ zy~vmn{1pH^f{=Gv6gg26Q52(m@%`Si>`CUZXbC#*b4}y3O2hjj{A}^PEnWvsjmG zZg=_g3m19dL*Grk-au=Kke=E?i}P#i`1C59XD?t*--48uac_@3d5tWaU?NF1(X?ip zh^%pfB{Dz!R|&K#YUTR3#= zIGu$hOf~pHg_NPmdgG>!>)@#Un4se)Px4#;`qyaIBTn3LFMej8dbLU=(MVYh(#^=w zYPDEfU+3u2V@MHvvN##G|A6#@2OfNgOP4S6H9d zg-Q|Yml>aVnbEZ?6y7q)3bZlkC}!^H?Nsi08#b3xi4u%b zSY<%MPyge8%*TH9qqJ9+NaBRK*#(R;<-ov`masi%Q!26Hh3B8+_S;X>Zq4$*efNaO zHhjp=BxI|mlL?Jx^M>Yje{-|{YhTJOr|&`eYi$e-6C*@m1PCpr#rO5RIuSN>`<`rj zowmJCz;?Eb#KR+$;)Sn2Ph=GJN`)k;VN8UH5~MPisNgG~{0||zgeWw33;}nq}oP-exGPXyIv#Di{QBzrUbirVkK!bX6VeX5+x0s^-!e2 zqSI_rp@nxATLdtrLLjAQG8xkE?lKt+-lGNOzxqUq>V`tY6_Y)?*TF{JUXSg)ZJes07M3|{=MfEu z=srno6id}=@H{jt!ArY8ZMPOVDX>-tDzOhRg^Y}U_uNJHk~vNd*Lm+;L}lECbjWBj zq&v=##!#tNId!R=1B%ZZdE(i$TKS_TQP#G~ZC*3hDmC?VMy>@XG; z7H++Z#^MqM5@if3j*&_-m+jFQy^ePU-bZD|pCFEFsQFc{wvKVd31n_SDik3;Nehk2 z1LP($D!kSLjL{$!#^^wl6(u>dR4yx}@GcbPN`#_NssLt?`a1tLX^Il@Ozbn%v(V6)(;%z^{2na=fD06&z;-DYJs&GS_R0AFJ)ZTyWp2n!D}pK zh@$XCM!J0omkwzt$y=%onhtWCb1Ac2uD7{u;Vmd7@p#PqB2Pd06sJy}MoEoy9-|d1 z7i8I(uYToeo<6gQIDCwy8O_N%PjT(?W!`p55-)am{OK3yXC57!K)@D?nQEORf}tyj zyx`0$=a6%^aOdr9B0XYm=RCMR7n`>*H@}Q5Qf^(I<8zNc$I=7urZH1N3xSehdak9# z)tkKb$`jmo>Q-8+z>g=`bbwlzVeRTVhnJRET3o{Bo~NFE{!QQ2FTMOCaU2sTNoZJw zWPN>e>U;O4M9le+gIuZC(UmHVR+C1%&CJ{a^UH^sonNFrGlQ--h%40q3Mva#A;mZK zv^oL8NmQcoMZt?-ev(GDfzc7t%djDE0%J5E|Lx!Ad%yR)sn!zq_I8+UcQ8?ayNNQN z86hdG<$J#Od-(L9e~K?X`6Tan*LzSZ0FY!Ev*fK0@_p|Q9A{$c{rtvF>w%_SiW|PZ zFMSRRT7TgG6J(;JacDaB|2ui$_X#XoCD>7)7oPY_zVgVQG2g24kste?A+CMXvEx2P z_Tj(vU-8Gk_X*_AHd~u*yc4W#th2JZ%1pBf6x0dMA_Q(GR{@us_4c(1P%r4APRBJe6@KR6+Nn>t~@BLff z&*wk)dD_(mwIuj_mC*qZqttZUwYMw=L+Oc(%;CXCj%h-4t%w`OLkHJS(=mGGlr*Kjf+nmvWQvrVfy z&$(xwqJH~f9{!tu2ULZ3?+u8yFY$*z|4(`5kAI(|_uuuV@9W$OC~{1kus7O8d&i8H zDCYun5|7rB*d$!o>*J)RaCs>cm*LzMa_XDRY)-f5xcjyaou*`dUelRvQg1hr#!vuK zhfQX!R+~o2BvD*aw>?6d8F2 z(Ck!cEgWSTOTW8KwO%LBGNcNbtB8e_aVdHF?9%G#AujB{{g!nxWommE?Czuh(VJ>y}NkrCN=N;~AXG2~0na%L+DLJxfDY z=yW<1tr}}*U!ziQQd>Df|I%f;dt2y*Wh%3CNL>klDqC>z@>PauMt7LA<@z*bl^F`8 z))?=}MF1Iw9Brl>)53X_DS=>R^bjRT%K8F@qevxD4CA3>b7P$c?q22Ckww}yjS>za z6;Wg`k;WHeQma7JPzOD};b6Vt{Cy+cd4I!Oq$yfO2qj86a)>_*mJ=E5QNovb;v#@T zou$aLQvEb09Su;jgz}3(ftE@#8jYw{V~Q+8MwJ8gvAp4Xk|Mm{p{}|aXLR$rd3{SY zzWctFY0h0KF}2p=t;gCdOy~9sS|M>>kfniQ+Nw3MMat~VAtuE|Ox!3bcM`lt*-~C6 z98@Drc}O^dT-SKm92c0`6~?LM(t5^nB}P^x{oask*ZLejzD$y+Ku;}Fyqv+h0nTMp z|K5IsCf=Cuxeq%yAaxEvR?BSS`M!_52fQbB1#zvxD_5Unu3h8RwLNw!O-y4BW1?_y z8;O(GNJ)CpH5X zhx0|i`8!p5!fcqry09q_O5;6bS%xkBjG-Vc3s?o7BE&>l%e{*alTPlT_Q+Rw=KNOJ zeCd5yNPtKv0YWL1R%P@{$Pz9l8NHor;KwvwL`6r`jKtcQsw!wU+caynP-F;!ZZ6Ot zLVx2L-Mt3g>&#NmO|KLY|gin0@x48cu?`3XbkvyM- zVTjV#iQ?rprLc|-lqTCS58@3Dkz$7vK za}WAe!@n7iN2OeHKk7)Lgh%7hE~mG-!I%E(5jJ1@I#JrEkxv+`Ngn@`-{I{){G+5+ z;Dx@?k?bY-3Ym8N8LB`4@QM>F1cMG%!&_KI$8IBX!b`cl*@u8$X{1-uaDU?`?ii7~N3n;@zE>LY)Nw;?GYS26YZd6GtpB&q}< zf-DfC!1^jtZWy)~sNOTryYByXtaoH8@FHAAP^=v1@Y~NLtr6rwqPg~*a`1Gy~wruG`jZHX5q*5poA+^Gk#Q)*O>-d>fDwR5vN*}FNDWeT_ zfszp_jzeMso+2BQ=PAW_0OJW!dx5ypD%DkvJe^Ra8KxY@Xr*v6JX@ubWyB6Q+}olY z=zBa-Tt!Iu>o0tUx4-j!n52T%3Xf&^@Cvi@9d>uRbi3VP%joqO_PW#Qd8JxqZazrg z<7$G55}XTXeV*skYRxbJIuN@ir3@dz(t=>^{`Uh2O|#XZ*_uIkPk+#3XKRb`aFa-B zo_ylVkPB9h%o7(Gy{(+e+zPT@r*7(~r6p`sA)cROwi;1Wg2CDuGMmyl)M00D!eKwg zEVQZJeT>H+eTmI$12&2gN7^ln+y|aHyxUh{D5P*8C2>VyZGn-YAyg{V2}*~iPZ?eM zwGCG`MqIj<^3>P1x$AVB_rLczS_G?-N8k!anx{BXD~mHf9eiEiBJVet`$MY(q;07{ zSP*4xa$vA2mBMH}m43^zA(k?D;fwJQ=NxG|1|KNSqfw3(I*kP<}%HXJ_E3p(|L)ukq% zfBFoyR+EcY#yq4W$_VgMST^mjLP06R!$*`G+Wut1PM+bSCTqPtF8ASHr%*Qd^Q^T& zqFY$3OWD{fc=f7>EXOCIIm^cZRB%0FL@>#7Boz*>d;Nh0w<|1XzWxfy&IWN5;iY6Q z5_GDX+<8zQ)w_ls4@oLD;(9&AB$OK{p%mUoY*9`CWoRh12)S_8BncbuD`${WrzS1y8d>~5`dWF}^*DiLev={*~u4659Ajq~eGloDklX~P6usIXa- zfRq|hHYL{i@?{SmmH;mbuYocO9C%yciVR$V+L!dm&;+^?>2IP4jlvYRltKp?qq7!A zkc4NhpeVw7We6Und;B&`)){3magNlx1M($-)P@X7KbWV;9X8LgZh#dTkh7UNdJ|9X z1(zo&{UT*F>IT>sIuJagnEviI=Qj4J-SZY4jzKmecL^W*$hYzNzj~3KbV4sJ$a*8< zilkPLv0AdTvqyXO7{+M4x76H#Tk3*DD#j`F#ujy`gN$QlDvGxpp5cPMh1y!q?BXn1 z3&#C58g37TL@QB(mi8N_;Gs6vI=dSqbQJOax8F_oi5L0Oy2bDIadQ!0y!1MkQ-!WB z5iPy>W56RwvjUlfiIqih%ZZbmef}AAsI{hk^;Tz&<)f>#7iL*lT%lTScWaFXm0F!R zt|D|?HYcIDP_m?>{wJ*ykb1`*55JwkZ~QXrmo75DdW}}I#Uzu&s*X|6sMnE7a{i^4 zsKyCeO0+f@xu2D|Ka4BoZXVwCo_DjowZm7x_B9@S@Ik88>a;Pv-lX0*p`R9@E}>`Yt*EtNXJmX z*m)3P=ym!3W$#U+F1yY;zuz9taOeBZZ_QPzl1lSXk}TWUGM>Nz+l?`k8)#^Tm5?St z2x-#Lu$o>Ct2-St2RaRDnxw&m05%v5*kFuD3E7r4xvC_UYJTVW&gbkQANIcYE!iX= zBEER7I-hDSy`{SMJ?HGbpXd4ifB*AOBK;8QQjAXGI(XysSyFKgPM>)M(v)&Iq`R@j zFwK$OF1?jY47b-gSj$;nz08qAhw1ir5lWHKpi&W(MalK04f_2N-nUr3zQxS(TQI{8 zBG1W_D*yFA`%!-TKm0taD=XAy50PYb(nKQ_xKdDh!F#^@yZGzB`UsaVU!v7&kmec6 zhVL2*M-a|28jbkrpZaOu`}6;vEKN9m;sinn(n@tQH5woM=jZ0w>vXts^(u>ti(%az zOHtziwk%5q{r)5q`ND+@)M_>6=jTb1bmIM%UNCM=NDnW)^gOMpXGP_Na<^9-G7WD?*^pZ(Ye>EbY|$vt=7!O27OGzVLZo?W84 zut4?r?I@WcuncogE+k$m96@raoI?SHkVskQE#Lj$v9i9&rN^Im#qV{eS0JMFz9>et zmB#6CPqY>EZOLxGhcg}{1jA7g*Mo5Z@g*@+LD$JkOMM33G22YAw!qmG>k|sE!o+c` z0uu^VlVnn$07mLHd7Ct?qtYCy(pb>MLKQ)h z)kyLhBRdRoTnWmK4Yra*XXHs5zmKEW>tc+jQm-L=P(W!Jr^8ajbt({ioflMUO-|o& z55kq4|KbzO&L8J9kA03blN>pAkV;yi)@(67KZ_EAL@SEXh|b;~-CmdBaLD?~GM6r0 zWmFdEET!FUGcz;GRJ)C{1*LZgt#Bsnmr}?`QjX7v@_1iPriso46@#;$dSi-et%diJ z;b527y`_qDC6`{f&f4k<`PzWF0A3TKfj$UsNJlrb8 z$XV;6a>tQonpUbfb!?tX*S0uuy2;nQ^?tBJ2BpD!MQ1p`Sx1^khNB`j!(D6?i;$5k zRcz3^I9!N6s0qw2dXUQ!m836Q^ZmG)V+=wGR4OS7gZB<875)A$&N|9sgtd+&P3aDT zFWtp#YjBt{NT~yW^My=`B~UZ?e6*#_aKV&R@^?<8wad!{JHOlwPmT zg_SLqy~d$=?a?X^9}6%MhmASzZj#67Musa(ecHzkKv&_nH^6#2yB$V@QTSOQ!8?jb zB*ed5%q_=roYJuI;x$e*Q@k>GBRMuV#do~venv8(I~cOFwMVT(!Pc2^VBCnUV!*6c$kO6fN_%P=Q?G~Vkr&JqBbqa9OuvKHnnrsDn`Ia& zu+E@$N|vTHGfA3w%5IN?dXu^!l@Ic+aA%N&Lbx@%z{d6o9{cQ*+;{&2JbK@) zY;~UI)YJ^Q)C|a(x$SnE)do-f+5h#5-)9;9ty(7Nq>9RGq>TozdE=XS?BjnEr|b%y zRG6BcWqNLb>4im_?I~*YQ0SzU8aho-NrKRtEUzL|8mXt^@0AX7L!PV<3XA8?GY_+R z`7)i&O$G}KB$X7M8l+0`BH?>};79mhecotY+2Gfb4$iU2YH61lR#T2Hgp;`Oh8 zJ%97jkMgQly^4CHfliW1a^qOS%$MZ*jv;u?2c^Y0qNv|DB#9o0vItg!RrQHC=^j!u0$CmBtj?8=GuxZcv|^!TEU5Lt<`WwFL((74v zO9|dGGW(FE8`Tr`h9D)ua;5u|!V zo>oGmJ4V5H1tYCdB0(sPR1)VbBj>QjhIdpZxJnhTR9FM7jWYTKL;`6IRjDx=^eKxG zescrmBkanALPm+evk*E7GJJ0s^mSA|g=fv$5OiD-ehj!XNZ~m+onnXAdGyS2 zDtV6emj0lmySBv2+9ua8Z}QpCooA~z#A`*f+2EFw$GGpzUEFrp0fdsQu5Yrsy3X@g zmT^F$q0tJ3aJ}B3(x{W?HTuEugf9(RDnt?#Ph;kYN8-k*27%#5wO*%M&9S2)3%5At zW*cnnZS%>`e1XGKQZQn<{vvY+XKByQ;Id$0(m6P<=yrAx5{$Pf2McpETzmE$-|~$} z(sH!`03ZNKL_t)K^1lD_7vNLg`H$X8UQc-ZqmQ$CWs}kkQDitF$m@zM@i-Tnj@Ai^ zqD1J>Sl3!(jHUFBB!SZ>Yn(hj%>xgdL}3^?MX%dqw=<-)4r@J1dZy-TSO-c+@41&q z;jpd@US2Z-;SflaN~0E0;V~$gQkFvy9+_6c{S^)+(n;gh`+ZA=QWB*yuqEYafGvjz zmE(+It3N~wk0}fA6{OS{Q=*)MVn|Y{h6u1|!5A06<9Ir)B;1_%-n?#JUzvrkzv0{} ze8|T&#)O>8;Slc(#%nBc5^K^c9m)$Hy!$xqMvWqWEi0R=Oy>os&pg0Twb||#bdY$V zu?6IbM5mUu)eZjecm9a;s|j-P7)?Fmq1T*duk7>OxwAAYmS(%nu1~3yoKC92$YtQ1Q;lOlc*+$3#uozFm-4VRm&z=|ApI*Vr|Iv z91e#_MT9Se(W>wQYf79oliXY)6?sg!6635y?@Xhg_JtQ`x?( zm|kFUdIn>MJauV{M~+W1->$K@*I{FM71cZv4&P;gUhBZoSwyRj=nQCAs}xGnm7ZZy zV2ndpgCF(qMUU$81@3K2E}!e5S|>n-dtpn%Zg&?g1yij$GEJE~btjjXFY(O#|C-y5 zE^z08IZhmFvUY8mQYO^1Iz>@3x_0puzt6KtLcerWRgSJV$YVA3A>!qF)y^|@Q@CdK@&hP&L z{>2aew`?x0uz2_=l~x;VLe!O05{2OPkG_?2&pt=3F@?%g$P#ju<1vBS`K66I5&TtO z^R-{g-+c6=+9k7Oi}-UzvJHbjJ|8(>y$ObND76r&ry$A~mb==M5f zSvXi}osh;TA1ejI6nyM`ze9rp<2~KdVuYa8ZnAjfBnJ*2qS~6nR+^L>+xS}xaw93V z`m$A6;utwkV{VSy@4J_${`w=-ijsqN#9eQAgj$*-lw&5%8TAINZ|$%(9CGFJPm+v0 z)mEF&U%Slgt;gxK=Gayl!fP76A-dA1mN!v&zWF`h!EgTR&$F?%#>|0()M|B%ccB>; ze;3||tl)2b*Sq=Oe*M>YD|dU~4DI?A#LmXRCf&xqiK6cQJ$6#^I4DPf)Z%fI|f z+KnpBc9UkSNxfDltK?LxIXX#DO0l=M!_!Yc&BE*gt#*q_UW+7fP+A9BuL9HCroC~2 zo%1g;m1Oj`_Yk|g>^V!4Dc09FDN09MR(R~!e~AN+JWO`W-5kI70hF)ew4yf}Af!ME zjguA&Sn7y{{2#!Y6eiflhKRa$nuJ_+5vG|^CZtMImL^!1oJXp-6n_a3H%N^GM@~4$ z3RJlnuU2Eh5!7HiTSWa_$Q+apFi5U-S`VapiVUdbDt18W@#5NF54Q zDRBdb7mBi{5Lz)R4N`{vq;x*`Vr6{yT=XN0;3owYr_SLSv4qCU&>Do5A!A#~uy2$u z%3;GkW~C1~uCWQDNG9A8??Yp_<1M8vP&&aDj&=f#6L9;jci@Z%6V@Cd1;Sor@8YFk zGqM)l-R9!iYX}l5l`6INEPFf4G^eM@Dz(^b2=*jAfxDn2d7e{mwQ1H{q*)EE$H@?3 zBJ7+*>I|Lc9IMnY!ZN?T#oY89y`4Q)mX_Ha6|7zBF?jp}M;a9tj~t?PqJ>B^($Y~V zs5Gi5F-uyjP@Z4LY^?Cc`;PIE$6jJ%eTM_pIUan?J$!iWlh{Fu9hIm=bL{Xuc@|E+obnoHrBumB$AoF8k>cfm~l=Oc7vb(#J%B=m9QGDAKK&q)^BRzZ>-S820-U z+n6bB^reGNQj80GfHekBL6U|{@A11g-rH)`+C-*}ya~6udELCe!V2H9PwfVsbCd#? zMZs`5VALOAMg?hBK_(id(opQ-sU|5?^-AcLra43Dsp$?2#}3e#IfQj!yr(EFMo7F1 zayC~EF_me=>?}HOaOkk0-a3Tv1q-h}L}oQ!NOrDWxv-g6afMx zyujOt&>tVr#`M_u=P^mpTZarno_!g%5Ar*dLSS$zOxArQVB6Bh!=lDXk4jX$EoGSW zI)bFm-{^a>L7Zts+|*TEi+z-{#uk7dcTL4a_AF!|@Olx*mxgg5d-MuVNROf3@#91m zFK?Le#VDx=`VrDbVQTd3$Z!}T`ntnkktiu6Jy#&T8rM@;5uz(RQK}{!!a00t==J)H z2E)+d)dEFAqcy|z7YwsPva_;I{pbQaJ9`+r$d#+tnL2(4nbM@9&eg#-YoBz$y}OMxbWgjG_#y^*eAXCEVm?UEKIlg z^q#;SIutixkC);7kPu|}sY2%|(??EGUp&In#q-qd2-EL#d1(n-KZ#a~^|ed9@lE&h z%=yP&(Odnh+ipRqoXeYAq^*?NY@OQF4Aaw1zV66D{_r<{i%cgpTP?C$oob^&wc4Ok zsgYGGpkye1)mYB8pJ(N~zu}qQ&qftO-B9$##Y9T7_AKxD-tXfxpL~q1wY31t%2Tv8 zXq95U;B{|!6OVuL@3?yDDwU}gNu?U1Wz_%sp&}4uC2xAun}hVugj{KB4c*Rw_EbB( zA1XGBBA90^E8fqU4G*`Jl44{gMemqCZcG`$HIQW)iB7^{M+DWxr~dFashKWTcnWJ6 z_6>7KZ{g5wcQSqW6wUeLw3;)qxN;2o7FSU>F1PzdxgflA4*uo8|3%(-$4P|u)bl!9 zYun^$f~?m`D;a~qfHK#-`ps`+Z*z~U&z$4>@)`@bpJtFsTnT%lKGmin?F}g!C8ZCA z#>~P3y3wM$yT@Q>57(Z>B^geJ-xDr2wQQi*z4Kk)zz0A0XPhw)a`@;`D%JXao++V# zICktfkG}pK;EleFvgI&XgSo3T+YJ%(HDO9!L>T*)Xwmn4y@ z%LIDk__II$6Ts1Kw`fgIk)|1WwL+Fx$+B$n^Ut3@&&>2Rje3(tqe+%l$n!ilHiODY z+b&xdo-})#pih6_AfGh>Q=tv zhkuYQGvdI}6XCG!{Dki7{VP8p`}ho76SB|iX;78mJx&NZrlgsstd^Fdbl8a`oR_H~ zoO3sTc|t+FTMT&W!U}J=yvf?ukexztqA4LQNYfN+JjObxaC^{7{Kq%09~gtwsq zoF)lEg?}SW(+J)Ua$!>hdU=)$N+WQE51Ff_2}O|eaY7vOn7soPC!pHvU^R;Q?=DL1 zy^MRaip^>3@y4N}HyIJKjD^r~Ep{j=ag1X8p#*Q}lp}PMZ~L+U9~1~E@ZN?AB0*sg zqML@HfVYk$%b8uA;|JdHt@td(4lTQzBevGBvA({}l@~7r53JH8X-a*n&CJ3abB$Ig zbjyO>jTMX?PT+9PIYt(g2*q)&UPn|aWIAPP?hvinLlmy$(8en3FTB9c(iH~vLu~C7 z{P~}Jl2_fa$l*qlw56FlvVg5SbXuV?rCDW(tIu7g)vR;ZY?T)te+=y(VD{KSZasZ~ zkACDV2NxSqj<|IG3I`7_vT$e`QGwmg5MhIj2I!^}_;6-5Wr5EP z-USPWP%7L{UJl1ni4M>@0i$7$L9dSxp%GCS7kMF}`96;Sv(|?AC0kBx0xBww!uwZ- zfs5k?Ys}5-=5_P>3Yz$e2>>e8zXBx{I!Q32f_AaZ=<@T7Dl=r&lvb-op5#aeg&47| zJaTpl5SU_s9Sm5%bcN1d2QM`J{(#PIhsA|i>a`qKj#xSWIeOhqs>vd5FyP^ZgW=FA zBvNEJ9e@L}Qf2%(F^?xt&J zNnDsHyZ8wN5^G!paT!vr(IUwCCR6q(Nb7aG*rE*I#kzptHx^TxNpyowJW^TmEJaC4 zo~9wUFc#VZL7wJFnFKkd2%p0tQ6dn!m6CBPD<_Z*?;K@e(Kw|<> z2!*r3pW`ujSK@4#774fi_ey6&fotRUbbynXD1FqF4bpqIcLrQq z+ND{q;D`wY;pQQid1zK}6D4|dYjO$=c5rgU#%|i>6 zvd{KrhpsJ{x$QLdN)@FXsaa28JXe_150ZnDQkj8XSYsfYKXkl^WGbN}?shVuVx)T2-hVKE~BgejIyQa7pIO z-EkZx9CCY=dtY_(6~EDMd-T<;uWxb69pv)f7I)rxinZ%~&Ky3?#mg6Y*VnzBzxc?9 zX-u_9YbjnUkP4|ZLMp1YdXTZIC?AaQG@T@fC__c6_-Y8at7(Nwxpo27~bYBs#>p2qh?# zAVJW%a-H*^_)}Wtkgkxd@Aa5Jc#I<_@8RI-Gc*qzXJ&c^I%~Y}=|AVQPyHQvd`>Mfi}<9sCcLK`}sAt9Y;ZXFvR-{QSTBw{$kPC>IWpRw@%I ztQXNxp#)yT+~LEVJbr=~o;ypPrOYlYQms`3uqI}r8soV2*3+moVLkVbct7PEl@eaPgTPe(ooJjDPc+zk$)?;yh+5<3r@YKhQOX zt5vjOG%QFGhm#pbNUEW7Vr0xDrD4CpO`L+t*q9YK;cy~B*%4p7Jm53WUE}Qe>s(y+ z{KVU*Faky-SPP}|Y;8%lx+7NdJ%lk73}aOuWX8@2w3d`MOx~OcaX7XpaRO46GAv4j zQb^?^y*tv71%ZX(Jc&w>5{hz!PzgkKgb*HU_a&!3?m6D=Pvv~fhj-RZ;&PlH+j1NT z9kR&d&sy(E(lj)ny+&&tv+6A#AEx(lHej7W>d*irVAL3uf?xaPzh!1_fwz6*o4M!F z2boxTbJ8t&u2dSpei2 zThQ(9#JD3rQJCPv6H^o=X{H$ay~oed7)B*!@J$P$Ld;rG;A|Ov|CZsX2&c3dgOyb( zl+NO;4-);+h_tFBJayb83XOiH6jEAlrug2xZeCw$g|C<6G2~=2>hTPX<@)L-E6Z#A z<9B`=Q&ZD)_c{!Awo&CCZnTY(32C*$uo&T1I;bSUrkbRlvU=${{>AGI%Mq1K(QZ^J zM?36#hjS$l%_J;-^#QJIc92=l$@(tI>eG|%8XkjIZc|S*nz`&$V3xW&1pBLB26^hN;@o2GQoMz z&fYG=(Ewu{)21t&EJ^8Zt#Gj2Ak&I_Za>YZ zb_S8a4N0m=vMk8BPM+X-w;ek9&IM2Qfhn$E-(~f4kMp|IC+U$hY|dk)#EAlq9Omr# zCpjQ{JaqgZYGirh><-;qA0bOMI!?dLXoN2fwk(n4C?Tj;a(aUTr9ml;DMnn}?xXK} zltkAMuHtwYGE9YM1;WH0X?5uLUDS7G1kMM=3pX1Px6MWY@zn+gg z`#DNGz!3=0UP(|g&}&tQ$nruX^AxjzC;vUZbjpV*530h~yyG3LuWj(j z#~-8Jo~Dx55nccmClp4**S_QH`Q&Fl#q{hPwMv~#X9#^m#_J75uZXcMB1W|!L?HUg zK-GThTi?p1OP4ux=rG2bIOPqE6*qo%LP}*gOh+l_xab{cgIa4yk`x`is6r~7SNOp; zzx!{$kEATwLelAWsJ3QVIC&QbZ-0n|qbI0n&xe2G-?4e=i?o!b?G&ampc4H zKZM6)g+ffE{x?p46<_`KZ{UCbwO?U*ZM^R)q^+c!t9# zPjX>nmFK!U><;?0PM%_Jb`IGyJoEUIh&*AhvrVlk+3WVOo#2bNBE-HZ8R+*u%Gh7& z<%9qSrnD#zHL0j30(`>Spa?K4=NSn>cjP8H$J_w5^4?DrO3r(vS9oD49jL^y*zz1c zbBN#h%rZwFI*oAygtG`|c;=~fyi`2BIi%X?(5mO4(jWzPp%Bd~Db9K_oiZHuskdqv zYssdj!oByCguPMqAGEMMaFdPOugq9K$;b_ zXwW0AmYA}nEG;Ta=?yJA-2ofD9?fcnhtC{fG#ZfPb)50M_Q6FSxcdN4Jb8i3*VftH z*`VF5((P@d(+W~lLPH@6JrbGkN6C3XqEn`l3ccPIWidjhd1!P-sk=8L(zF^I9tuTh zz$sB;eTMS_@8a$zQmh+cT{w4bZg(l2V>onJ8-bq21SN!wObHvTO)^OXL0kkbNm*L( zDkgp0EPZcYH?Oa(!dJKmDvCvK^hC67xr0wU^Aeq5#;?Ekeh74ejZFo!({{OZtp_V~DgBIhsq!4@L<3T`1C`x!_9L|OA zs81s_Xq??FJoG`y5MNPl7T{`lTasrDJTNkr63gcHH7-4ImePcniae{3=!{;sM_$#m zj~wOH!>{MTlP8!za)hK(jn9rmIzhG8K;3#PYfCF+WtT&<^VD+9+*F%nV>4_{5|VPn zVkKjCc7{Yts%n=$;~+1AOHz`0o3@brLQBWo^c31dq9uB)3MWL0SZjk#KwE4hp`S^dFzCS+N2dhc!PYB&t!HND z*j!s@uG(h#`~?>0X6f~MLC(L^q1xW1k>%VXGWy%QlnWyYYcO~cA+QACiqJAj)%T}w zj6qX3YtwpOn3I$z>Rh(3TXo0bDu55N7v5Ag$U{%X>`;R|OkFf5`k7PGaS*-SE>DEiO8MBdM_7A`;k1dYW7W)2_W>g8=(_nu+u-urpiH-00(_RGJ* z?$$QV*;!O2O1bwtqm%nxTEh?i$dB-Ee)eZjI_1856Vin=JkL^NokK}*Xbv4d%E7~j z`Mux!T^@e;Rm{)L)1JvEQyk%ZPzfO7dLpAbM??mLdfB}g1Am-zeBxstW!UdBJ3URk zRwv0)YRxujB}d5w8~vnv-7ZC0GCe&-y;i4Et&(IpejIzle)gThVMw^;P5+49XCFiM zyWBl}j7wLp;9HAq4Eo&t$eY;N*`_f+#rlhvIDXe1Y;CTywbP|4YaDF0`EUNkPl6kg zl>^F+ZJaRlw^wO5nhe%A{s9`*q4>3^VP(pzV0Jb>g9m_P8 zQWL-Kq}3hc0P&twditXQxeO6@QjJiu!IMueG3?a%(79#qJ+Z*y;}vQNmV5K}f|Y7Py5e!HI~+aFk`3WM?`F^xjD56+$s8Lw>6j0%JyK zttqXgENm!N1X$;y#2iLN5!zZFj8qJUf#z!qi_}SAbvTbPjzngZCitd}aj}6LB;jRQ zg11Oy06E#9^eT{aM~2P_yi91+GNkhe6@A(_ zat8!DfVaGhv0Q*KEWLD@b5A|R3(tO$-PJwpXvEBclsCQgVWwJ5vY9H@Cfsq?S0RK% z3laRWiNqI_G<)3|Nvql*O;hNX7y%~Q>)FfIl73lI>bl%Sg6`E5Zlo)a#N7$ zgl?}#BX1!IU`>3GDwkzJQ4}~l{Xv2A3hO*c8ukZ^n?MxD5lgN#A%an9j0-9TQyQeq z_c;eQubbD+>nls@>?f(WF*HQLov(it2TtF@2S4yZHb49^HV1}gt4)$9bRs97EGbn0 zVQ59FHA)Ib#R!K4A3VJyA4I=4dO-!CMEtTY2|q3)8&mYhK6BaL9)~JmPGd001BW zNklgp)w)@x-O=TU25ISB-1IKp5>+W1aaUvd9^mq2tq*k9YQ$B6ectT1Q;*LFt~ES zq1hUGYKEsu6S9u`I~+dJq8z>QiSLE8FVNrXGBefU+O@0Loep`mN~$&YpSXp!^%Zm_ zr#UKl@ws#CRBGH(Yf^7DNbqDL6eHTHFd;=w4wq6$jL<0W5Hd`RWW2AY(r<~hDnr$8_m8Q%Jqckp}v_iwYgxk;_wAW!p2q;Hs5 zji0|8ilz8W$p}RgLPRM(FDrUQG^+3Wdu5=?PQWFx(2^449YtxW)G8qoOeX={v$e*5 z{@H&C8y8Vnw);H>R&eKCXSnmBhdF%f?Y#8azvT-bd>^%HMt^6Q5zrGkQ?pYn9yv(s z@Ci1SmuMaM|CY5|=P+LKI!!}bOxg(>n~kn{iW+%?e@5HrcHb9IQQIhKg-uI(AsTNt5*?8 z8YcWWJnCgeWDorGzy3K)f5`UECVP8b>P?AO!As|yN5;vY@PhC7&hKVxYnyhv$#c&= z$1SH$p;Eb@7#}0ri1vy7^;%6pSRrE+MuQW-7!nC(uC(QzR+2N7nXtgMI5_W{b;6^1ftwLE~63}Uj^`%XoU%$@WsoTjK zZPvO2HacBaFI-@zR;4{Z&+fqT{onW9n87N0pTCCa_32$-A_az{0V@*9;+5xfi@5%a zq9jQq2_7dT&P%)$RD@v1dHMyoCjm}-Z96wyzL0u3u0{UWM36B4w+T33&?1VaZz0sq{(5oa&fN~$S{?2F4!t$ zif^im+g#2VbD%e}y;#Yp|z1)89 zUA*V}zl&q&O^3X;^& zZfVZGw9VSykbnMF(^Zv{LZ&OMO;%2Q2M%=$am;Fr)tctk({1J#6E0rfd#v8c?ks#1ba)AW0GlKAEf& zUMQ;77R6u~xF_*mJ2#>jb;&DJ;a;Ig5=Fn?r_tW$s)Xj8#K+GjrNBgBo0K9#QY|`9 z&{9$uOOm94VqO#^GFUW1pmjL2nj(0c_YXujubbD+>no@59e3BpaWqmQlwf*(mhb$h z-^ptq{VKk2d5i5*(QHdh^k^YNp(!FnB*2(n zo=rLS@9s-te6+QOC?D@a(KvP@%NwTGJ|6b94+j$C{UmQ$#LV6C?UNAvO8Xq5SQhvR zgeI_1_kR~Y7RnAV_~5$|!MQ8qJ(7rcx(UBwCntXjpTUbz+{UCUJCrN@d)`u6^KFV~eMs zeu{RpK_yS9)oLh}P^;F^X&U2mBuZ<9g0QAduSYf^(=dPU6jzM zyh3_>j>L}m#Bcp)9=ZJvMmxJ~clPjw;rivP+;i`}_?G9u;Tihf0m)Eft5b{`EqdOu zR9L>}2Y;CE#&rf;msrRZ*OsnwU~!S<%U7A7Tj0v&D|EZvSH4%f2of}oO0LmTVntNh zI8QsRvOFBIX9~QR5iq#FxA@o$8aIK7wiGdjG)51s7mj=HK8;E>*Om->7x%c*l_ayX zeA_!tlM96uBZgLm>~g75X%hD%h4qp9Pz>=AZYK2pL^j0NhzZeOY8kS-V?$Jq3*vFQ zfN)_yQwrz9G&!g>LJ{nxk8!IK8B+wtk#Y!&GqI^Du1jLt#3HR+@hwM)@Zk;SUd{%-9KPst;^EJkjJ0B&I`+X46JA5OSU=#PMn;I_7fMH z^QH_92&oXtVZCJG@SPk#-KIHxj`J_Ph#4qs=2+f&p3)9Euy`A#9kRXMVPXDA6!3YV zq*9p%zlABw;CD9QtfvqIQrC|C&oE#q%W|S}aNdUKI%MRmc*@dF&X(XpDx-5?gL-c4 zC)P?~tjF6Bc{y&DmBt`sB|K|4>)xB!&Fd?x@D16KFP8xeKMn&Aq4dX29i=wAz~8;F zM5i!_G)1W~*ffHR5R-_6m>?8sh$coEr~p**!2@Z>zAgy97Uv>;GA<+{OfYR+yks0G z3ZcR#I^Nl&N8ke#DI%q$hb&EF_c~5gZ}c#Gk8l=TAShR>RbF-GUKS4=-d9P;fDskh)m-O79WEO*UR3 zB5Boe!(?7g>|6UXAs_J$lQiD_&oWjIO+0l0c;%H3F(y%39*Wu6aUVAiZWu$$u`CW5 zyh(zW$;yS40d)1U!`1lLBPO5UM}LW6C-W|y;TFj_oCdul2a@^Mqed6Lc^2hA!+>KWP*~%1qhy9Fm#@$~e2{a?*El${ zh*l{lPMl4 zAO1_sm6vE`RffF|!W*vcUgpW`XAv(x!T0^EpW@o(7da*yjFvZG*yHN?KCMc|?n@WQ z+c~>-lcS3#Fjw~Y=x_W6kACNO;};I0eTAbZj)ucZ;TcnY@u7j{$FH>W`_aKNDm%t8 zUpExIHx`xNI0{n)xSAek|L)6;g-Td^>eKv}_x@`7Cr~dMNEPea~2$!-t6j+}l{~z|=JIK=PJn#FR@P(WDcAW0%>7Jgv zJF~m9d6APqfB;1rpa4*mNP=a{v`Z#wgDRU8B^GJgC?|K2ZdxU=0 z;l8^U*}Zv{G>YgA`Y3B?#3}YbLNAT!^)pttTC8tuQdApk4YpB(7U{|rIdo`&Kl$wEc=Maz!o>76X<9)!pS3Dwh>IaW@}dY+}S8iP6(23*3GGTsxp3c?|dAEzy5>ph+H79uf;%oGGJKXhM z@8cui_t(k$U5d?R#^MUy^;_g?+g!S}L95s2*76E7GczQ*@`gXx7K1HIoN!c?1`NV# zN^6la!Ae8sG`*rvgr95<59`hjKOc6VZGjQAaX48wRuWYd@42VJYnONU)|a<26-U=b z{MbkCCe{*dB_^s-RT8N^pv@Vd)$6Q5Xo1!#PE`@oj-sfP`->I@fid|=R_aFk!!S0_ zp9S&`TseQ0#k&^K^~mpyLZPh2DuW;jjU?-3sR)1nIfJ#C-|NCu*x@k60OAVPd9YTT z=urdBg}o_`Q;aDo%fj0wobY>u(xeT6a2iX7btSS@^?f?hXgr=4+Ytwm$3PP?_kZa1SWB;9_7l9E^{u!^`6QJJdo#B*1< z`>r`2cwhmXp|mAw98nqvwnn`qb5s_3Plp029 zNvyGGAyAbG4xf4yYjdpCoWB1pjEzszAG8<@`pnH8!3v471#ujc7a3al)14OwSkh#i zR=(!%S1oXvCC@T!S|F4_X+@a{ge}89AQ4s|Q-7bkh{ z!ZJl(_|9n9rjXJLZN=~#1yVSa6(iE4-w?!}tSZz|!g+v$7#?Or-7}ihhWwl1v{WE` zF5$4q4u5OIWYbHg9JTTKK5^c#eB67k&KR625!Q2;l~&BnG?`d!u@*?BNhC*8-67_F zSYSHg$*04~k(Z9$?t|Q;A+uKrJ2%pn`Gwd^xqLpO?{wSH@s`0SyC=~0r+wciAC<(n zdt*l8PdR$#BdK>ND5Vs8^i=65uNI36*h=BV=(!E2#=`=dA%thRsf=JoVFEq;cZj>% zKUE%0!L5Ie!|AQ}cn%|>LgU2vd#T^r<=mIQ%;x$AgKU7%I%G8pqBy2nt)aDI(C;Ix zkJmb}G*6o`)~_$qPh+%_zJON(Nl9yUnb&%oWMd~usx=RDLSjneb6{%~21Ue`*ROMZ z=OTmoyNQ#CI8}_#FR-@uEqWs5Ms$kC;@x3lksH=l*4b%oVXF~l;vo6t zA?g!VG=i=5Tj;R{<|{^xy+*b^Bq{mt0xfV0rl_ zM^BvKT5FZTz|e^-ww4l$0$FrezWf^XsXFyqij$H9y1`4I{VW>6!KlyWr@ut06An#J z&{$o=09mkU=-v^U_EV#(v&>)^{?~jqmPm#3BL0-BzwwH z5$vp^EKLx2c<+|diheerFlC@NN2916zuYK{6MXu2evQO*!_wi%WXV7&5D_Y^QJ!I=N#|3ZljsOZVQxk$di8d}a<^YY^AR&`Cn1 z6iyB&&YEu*i{XdCetINDmEZf?*Lm}iqkMGnVQy_*<3L5wy0ydF<}Qu#CY45=cDKu* zG<@!BdHA5T80uHYr=%%ui3Sa^nh{>l+-HoTLzr3+vZ8 zI6KGEi8Ji(wmEn0b!Mk#xO(#zd8ByuUww{2k@NXmH<+o{=(#q({ik2z^anmdqBW5& z8SJdHy|KdP<|ajMn3$Yocc+7`SxolE8(P*lOqQdBAXO5H#t6uelrAGLARpR?#6Fl+ z@R2**?fKhb&6hIdBs(arBr=xWUcuM@Y#S{M=T~?6xu1SNRjF88zD{FeoJu-|5E^TS z=LL<56OeVQrVOeR|2&#fBP(k%&aUq{r z1mY7m{?e1?VGP~<*7>~O0m7$Wp$^+#!ibgR@{5f636d5Mlz#FUCgsD zJx@0m+}hgkbZzB}cNLUfgS^CPfpL;7mppM{lfV17?n1^f*o;J0y>~zI(rlYLbS)tp z^qJC%skys&;E}^*{XWseVW!W#l{k$sHlxUT6nViQ>m!|GY{*PygW`a{t-;Il6R+IIjCMh|G!Ogn=pi`3)$t4Cl%~uookb zm@x(&``Ed%CpM*9ES#?|N34&1MP--)qlDnlc!SM}luKK?sCbGv6ss~wZvDZNQ68|Dy?Lpu z3V<9&Ij+MTP@n%fB7Hi$S4=vAQhSqA_QhfBJzP0@4trU?CB-0vX5uqp!_;>#)W>)D zoU=i~=MP+whBqCZ<{Q_0Y~+G^oM7dicS*p=^D4wX5~+~;Hd+1>=x12)?Oz_n(5JL7 z6kSPQJSqWFxKVEI(04VIXL%r&*vn=N)6U`Vl44)x>WFIXM$m@+od>t?xNTg>?i|WP zg+K)A_vq;iA4}-U2gC44X1+Ix4+GkLb^q{(_|4bu-EVGqQ1g^*XYucG-|_fA{cS2+ zt909aveF-@?64{098xP^tO|if5X%TQk1=s(o zTc>~g0gTJgafFByDshC=pi7BtXI#&qacn&JA;C5eacy-Mec{PB{F$DeUu37##p&2L zR5ZNU-lC{!R&QNJYJt!(=*Sb)T}~tfd25Ai^#WrPj{b``xzx{@s@D*%;Kq$xRN{ns z&2jOi7fDsb_*9ct+u%&ja%YF!mgwCs$4;MRcWay1UOLCIr6X+ZcBoH|k#u|X2RWCo zuX12!p6RH@efQkQ($W%B2WGi^cBX?vWr1-<@HNU&Chb;$O2YXX{80f{0sjbSyoa=Lnbskojy9PaP0Ic zUijuqG-qbGxzVC;C6n{>z_;F5;p?m~e3hi4yyVv^Xgd#z+AW}0now9W^2&aDwU_%# zLIa=hltCnU`p>V?Ztrq=yWrh_q}fC#vCmM&7qul0;S`(K zmf2m~X5s!5#Bm&Ai-J`sG=T-)^Q+RTmlF@wR3qS2ilR@YTIcfX%lyy3^y@tK z@L7KFZ+t(GKK2Mo*3ddeDvd3Tw}X`>oz52Z`c#<6`m>#N#y6#{CCdinMd8&aaxa=v z1|PW^!R{PoS)$^YJj=awTY6|`X$_*Zf%@Ga+1T!Ao$p+CuJ5qIcTd6UCAV_l)WO{* zz!OxGm#Y_>H9|ou5l)VzQ+`V7GXfDln^i~|a$!SZ9efnR$uLB;DCvoW ze$yIyX;tw22wb3m4vSFd+~`5>&-9c+Qc2S=P24N)8DjE>5^uW?DkU6B3ueZvyti88 zcb~jMQE&L7N`{HyUiBBAqYH(e7;V7c{@A+rc!x#cFmHHov-5u+=2oNMr^1u9qpqSI zMM8SOlN?P+ZBQid|9PWmfDjMh_BA+!44vp8U6fKFog6*KQOv^dfF#7eClfX}$%t;^ zxIH-jFCMt|Hv?42ZnSPcR4p_Nr1MIEBIA)}!2@UR;vfCNmxz)HVx8>C>4)u^;IoOO zL<83^yuv$xVCu!f1(=uyTd z=E#$Zx1mdcb&@=uV3otnP9G#M2IPhDMU<4(s&%H~4u|LAnVSVPCLz)&v)@+9HKjTP#ZI)f~uuOi<4mba3vtkU1z zWo&GW0|yVV)!SvOv&~j}6Jsp*oIZoHl1i zsZ5MB``-65`S$Oj3J001BWNklT4Rzp zsu9Jp2P!2odiNH;`N^L^I>^e1Tvu5*ejoRqeTc=oPM|9Z)q0)n?hcc+23Bi!+8v~| zOi#~KB0Y&!eEX^IJ`FaM3R!9LJ70K$U;LXN+S9W$lhdr%xq1G@Q8Qrb z$SH&?NL-1;cptq^5Go={5`Of@ew;u4^zZZ4CqB<(@BA(%=NG9|YQC-Hq^B7UBd&yE ztls1&f8r+*Qn0bQ!dJfZICFEe%+DX9Qmv8J8^~CrmG*IQLi-7CIJA25v-be|W=5ZE zP!Pu{I!>uo5(J7NG|M^1+{u%e&I*mG34{>5^uh})&CapBvd+TMB~Bhc!EUQZD{pi5 z>_a^F{8LzyQLooIf9@jH@hMyZsf1f)#K-^ce^0C1LaPYpB4!?XJGd@o2D zGFP3CHFM5;irr93Efp$J{yxIfd4(w`%WR~2%liTm`E&*$1kU2)jI8xaF+eNL>H8*m z@ugd+#AnYMV|^C7_U8+&hA}<9v1_eEDov3aWUNP^H4!B2!VdF?2|r6>jE8eMyi9yx z4YAQoFC1p_-~kR>2N)6@N;tC3F0HE@>}<3sb3vpO##shMNw2iTkt9)$YML;}GTKFs zlo31qoX20-NPoU|dO2lxUS8aWrZ%2j|9l=;8ZWTwLVK zPkf2l*#jIoeljTKLZj0fIxS!L8f*RU4;j4GhQQjAYuBza(X9IXUI$r`d(}u#rYY@J zi?;NsB+47y$g&(`N_4D4Q$x^c_c6v7!0aW3-MQ{ucdqZ0!q*H1u>nZrb**k+-2GmW z(f+668>tyKfvA7S%oPZ4@>|FV7S~ za_fXY$okFM_=VMl7=@7UXhX-?I?GD0#q9VDLw~P_Zg?r=F!K$eJnhj~Py!(%?~jWd z?>y1unY9fXvon4wY=@*MF)Bcv^+h<&-8La-Brg+tWp5~Yhkjlk7$ZiLRzJJ8;pa%d z0qz5cIlLstlLb93d#_{_9`517{~zU34zozDr&~IFE~^_ts3b@`daTMieCfS64e%mz zHj1%gBpmti$FR$C8MtRPn*H3p{R#p9>B=h3%v;^f_=jXFXnI0`m4*O{uPL`cXs(6vb~ zb$0#`rIidIqP-%~?f1_+JTyoOlBsF_+u!>={-ck6kn`OgPA&I2edaD+zJ8MlE18Q^ zs;14<)C5Un5aobwuS>HzPH%UI@oF6{73W`hm2S7o?ED<(&Yfe>?~&BTh^@l(uCTVV zNwTqwdVPUPqk$}Xl$$H0l?rNRfplUKdt`~MJK&w~`Yv))@QtUR<0OKmr4#5#jfnkH z=~1zz5cK<9wzjuW0zUXx{{vb(JN(HP{*?E>@BIvOtMrB)qI5@vZQHl8K3(NfcZ~QXrrbiSfNHkU}+Opu-2fv&1 zU-}w%zxjLUY;IB?6FhnIpYgdr`x9@`q4~ztS*4{(fvluV29AZpXXB0~j;kHV!1{E6 z5pp@~-BS9!ak%h`p$t77;!9_d!jL;hMdVC06PndYvdoYqC8iu8bOf&OYj~29HfrE} zliOGkYy*D3wBeUHKWq2AWg&x@mr-`M9C`Ei6lPe@ypZAR(}^)Y^dEkJvKaU#?dWsv zCDz^%5Wse!N#vWN5~X4a3bfWJd?JN)e*e{J9T%l2TVjfmvdqC+Y?0$E!J8bmMJpMK zs0Xc*YHF$15>`cwaT!?cTg7%Sl1SP;o0Sw%;7C}k0jZM_SH(FfO+ln%KMj>KfR~0c zbpL)THlBO7A!1Vlf6(tl7;v_{mfo#kW$2Cgn!1(vyS?d9# z&TnzX6yZJqVN2S(+cYO5giyqBg~H@m8?u^HFRxDGg!}J5#r^jkr8zajn-0uy>HN3& z+T)+)?tAYgienEBbYRPz()3Uw_UQtpp&0a$4vZ1(>}*i2EO=X$@KDWLtKOF6j0@_& z*uS1RxKt3uf_~qTXBHJf)-4zeat4Du^!+WS@GO=)*PZLm^&KX4-kV`^oAh>{z-s^4 z4lNaTEgeALEO>pR15tvDQjmUnJ0kBwK+Jn$o^v+Hm_jM%EW+(Alv3b}JGVD0b#54Y z;R&dI9}ih;QiZb52Ef(c>XaLO-?_Z*()_0`L?b|aE{ zjaX~6&?9h^|9vGGf2g)a?x&VIf&jOWG7u|65$XY64ijFavMedGg3_2E(XvEJkt8uP zjw<_!#=M+(>?| zjm5fxqAaOK5%(UR;qIk5KL6|`Uf;~IB0!0}?h)w}#u%E_n0GyJj4^Gwc=Z-Dr_Yk7 zF?l{<_r^^+`GBb1^;Gf06U5HZfAt*md7Db5&XtSL!QltlSYM;edQ4AEf*ts#f~!!L zC0AP&PR}01I6rZU;|h6RV2z^~42Y*=gtIKp)|hFeT)Nff!qzrL+~nrU4llocjkmr3 z!z5$Pkp$j`7RK0kmn5yf;m>pFEXEonJ|ElKF!}LDx6sfS<~=KRdKufTKE+g>ib}9M zu(rBR8YMuLE0;Dga|`swr|3)`W4CRn#E#Ra4$@g)VJl-~1j*mmr-W&wXYjKoseb>R<@Al2TF(GFq)xnEW`BN`Of@ zZ+ehI_&>Ggv!D7EqM}dFMVL6@$kF30968DK%q(fOhLD;lu2AZjI&FUK$A1*MC0l)g zsnl6GdYUs2zmtXIrx2>oc?duf_SmV^dojtgT!{9-2p3 z!+5iSvW9+9(o@eeC^X}5eH-1`yFf~&W@h=m5B)VN)jDMv8e&RP7*DSjLQv)dHa0dX z9aPdPl}eQ)u2P$y;730GWBmD_|2dbhT;y$Udka%jlPFdF%k~i=*xcBl)9ElaHbxxB z=qU2mn5>Jtbe-p){5-SDQmXcQ8u-?);)l_kgOG2=N;n(;gH;Aex(wZn1Oib0OPu9>$g~6Z%A!$xd_z9aWgN!-A zpQIi|3wfHq--yd$&FusZLy`A9{AkF>2>Xmw+851I;fCIQeC}lnuZ|3DzQ&*OqT>>@am;mfhX} zJsDA2fgDn+oh6Q9f*fjOGjg)W$Y~IDCwHeVh}g9$;#EhI6mH$l{@SqA2y# zS5vaHy}{(foTq+UN1pZfGOC@$ltqBIISQkA@s(>tLkpVl_o+1&B@~p-D~2dA7TT?W z&wvgQNY45^?7Ulq7`8jto$Jo^9aZ>Bw{N;Iq;~En>kdQJhrXL&Pd$2Qp1Ika%hztO zZF6E3rnEozla@ScFy@t$fk$tpBGphCzP-rlibs z-v<|ddMhJ8@h*mHY%CFiiiog6QMl6kRII=lfiaSjoYE9@^PFx8xr?Y*YBVY}tSA`t zd)T6b)@m)}Uu`$LZslhI$kM*qT9jF#N$ zBvcpX7_UZND%IXVS5p=i7wPTvxv{ueG%7w$HL_I3#wd1681skv zk!;X8oE~(;%<$xApXcPGZ=*Ij9u7Hf#)#BF52G`nc z%EkmmQSxWk))5H4dGRt)v&PN#1}|P{BeZ60ZWhrPV`1VTV}+!@-DbTvpfR3s{@JfF zcF!Y}sSAE9htP^Rj(yhdP}&^cmtMC=r_~O5ppGPsNRlYD%lrh&NI@hFpZPz2gIc~# zQCf26n3|tw;nYc{4jv+|)R5XA{&0$l?el+r@)JZ|%k`a-fv$0Q@f2s@{4N$w-i=5# zt=0|VI788=5U|tkGCQ@1!J=Krqb>`w!jR_!#+yyDJo7776#YA`6Cg1nqBgV0uYKxY z@DD!m2`0vCbT(HQ8*gyo`Z{TKhL%!1|E-G@MNVsXjWqA`u16nYr?pL7sc_}OGTpo+ zD{^9;Qi(NnJD5ih^pIQe4|XV%gl@MW`MN^M|-`WgQz$u>8UWIF&FlF-3EH z+DC>M8<-5Ry0*so*IwiBkwZk0Bux?;6XQq~`*l%jFOLmV$@jkhePr3&Jn*P2+1c5l zl2%90-57t+Pm+Ym$w_n+jlfrk5?!|GUU-G6PLHjuN0wG-U0)-u*15L(5_jKsn%zzh zn~d>$UwMk<8#nlyANvSVW0HUJ`+q<**&t0Pn4X=YpZ73%o3qEx@Z57R^3y;6^St{b zAEKKZ5*eYShioMl$OTaK+109mZim0~Js+c1twE$l%APlL<%Z@&%<*c)t9Y!zSVybZ z$HtPZwBJUl#XifA7;zvZkSL8378^(O^D;EQEqQJ|M9}$$ka3p6N}_6wxEA0)W)LXr z5m+;_zc@DtdG%hdyazxO!8~JpF*oW<%RMqX4p$Bk!*n8{5X#F;9YL2J8h9?GJPc_U zZfKba`}lsp@5n;ne1d^t&*owaOIdVq&igx^@x?m~o7Ku&z=S7FcXu+JfkEH0-O1QA zTclG>oHN8aB8@baw1QUQtRsBmKN8xnIZ83eGc3|KpM5`6%H}sSv{YW0-SH zjyI`B3Z=v-az_RLrZtw@!!_2M6}Dc!Le+Zzu#PP!uQ&Qfsn7kGR@^bizkIh5bba3AzaO zsH{K0ni8c$6GM2&8At}bU81Cpj=VL&_pudO)+Y-0-Nxo7k&wTrC7?#?C?;|GXiPfzdnIw8KuD;s=a?WgaX8*Of`b!eoD(n47nT%v+<(9!Sr zsW$2)X+pQt2V{^s`wVQUR8T6oeJa2^*PZLm^&K?v4YJx{W?E>4I_LBJhLd3DEF+Sy zSGZD%V@@1hVsm?kG)YLcpCs5JFlY!qasnp|N@}E%BiWh^5?2|>lDPfA0I^2|9#Vnr z{t@+X84EIJ>yUxa=$yirp!=)ZP`nQ_J9UgOsgE`qy$*h}l~U5IYu@wl2|pYPlr1SW zLd768b~p*m`nWO$;gD$+5egSCt&R{%W0jY*I$H!nvOwX8Dlvixte-+T88Q*29)Y5~ z&$c>xF4h^WGrnPA8BNliYWT+`HNKJ!Q*Aue)(jF6LfCf zGSmRj5tnc<&J9?H+l2XLrfi*A+nbKi!alD z_Ibv4daO=QP+59_=G+2K3QB8GjcFFn9LHvs>8X_68=I_lcWC$5sksJ97nr_4QDCg) z;CxKkzKL_=ND;CDt*4Va1Zy`}Intc>(ms5%W2|1Kmh@R{2*mUO3+2S_Ys z)?)k0HMVBoxYXH5fw6KgekM!`mDL~>)(X-j!72qRB2H7@_KtV++|$oen>)mdH(Qhr z=8r7VJbIkz`GZtyQ;bi{kk)J7OIev={-J3O-t#a&_f!8Vm!5f^g9i_B;`niTQqqkh zo?UBk_u@Ez`sHWn60zOx5=9j-8m)XRnljGEP{fLf=^6CIG}9AvB$WmykKIe7TEUhj zft(}S%nl33gT|JN0H|wsrO$iElHASL|ym#3r%b-c58)~ zzxWyIrSj7TDLAlngvAplNvkzf#P5FDdmNT))m&DlvDTK1EYnzV(f-@bEj{jZG4qiacS} z?HOxa&~!&>LYzc=?sK2v_|ap`&K?|@>GouU-{>}(^e z5jWPZv#_whmF1hLnM15~;RAo|2XNN$JHPYW^gCUejT$Ep9HCaJAWF;e>NIDT9;7QW ze&FLj$ajDLhsaA!s^uQ1Kyq7gWral9f**e0yBJGTtgv3(E#({jTw8MHTpe6a1EK%^RP$XPIBG@JNRjw9NGW`L`wQ%qp&!o&@wz$Cj&ylfUsWDZM}Ea7ld-O zWm-G58Tmcm+G0-vYMjRl3W>yGY;X;!J)fow`LBEF149Y0#hC)*ygwG@RUJ+Zl};g( z*X~(r1Vby0@@Il!lPeUx&SQBg%Yq`$aiy2px=<+ll(ftjolg18g8*`KHezjc4O3V) zS9i&+pwsTM+v=gU_6?-OQg@naoM2r+q!mg=6vBIht%b}6P?Q2CeeSJR5+|gWp9>Ga zD$U;6L@PORTRFGSL+kcJpp=Z5I(m>~s!DflhrH7daepE2yxXR;J79UU#n?oH=IkVK z+2`voxBrn4#6n z1*-<&N^Hp}7SkHzje^c1?!c|?Tz9VTOsVr;hEYK3I~$lm`+TOuF5WPUFLe1*rI??b z*e5AY{MU%REZU*zMcf9@8v5&o+tt3XS?7k#qCMYF*tkceSq!Hi$z)8Mv?jq}hj5JMY${JJ632JG| z=8NaK@$~cFr+efiE}5V*cQiBv{O`*q7J2&oEzX{uhd5$(Zj4tizsmSTgD4tfkR_A@ zg)FzQ{hY{J)a1nIHHqVxUN1umMPV$pq{0wu?Je07Cj`a%HoDWId*veP-~?jr5>sXi z`YnvfNGln#(&E5vq*_wXp^|R%GRX zm9;IJ^$KaNLA^2N)fC!G3az#NAX}6~$`e{6t%>6Z0_I3aur_0N{U$4Gn^dcHlvXs8 zm|yz)pI}_{*d}LS223A1#KP&j(BtFiO5*)wMvzKJYxyEy`j@{)zdxW-NilWB_kQ$! zRHmjGl$$KSzD-iCGk*LiHXY;4)ZN&)^*gv2lf&#d|!JTuATy z54MhBESwWTV)N}RDnepq!uY}|e)kVQ&&NOX0Y31KH}Tm0XL$VaCn$FBrctlc-`ONd z8$5sI8k5sA%p5&MsbWN>B+fGynh}L5xz#IZ9=?mX+hwMfva)=YV$er8$cutOyU*vJ ze1_6kk^}Q3$M5Erh%hVbbOshHB5b4?A8R62M7PtSz1t?SIZuA^^E7dM&nJF{fBw}c zNhYQ}eYLbGCE3{6pxJB^B?-1H!Im7FUtnf>#!vjLkB1pfT?o-fQtiPKAtIeQO0RL5 zsb+IG{-n~@;GN2i)>LY$| zJ`32|5QVhQr)oiBLeVJ$qaxS_+^`W4_B!cs#)eFV+!vBY`6j7USYd`L+0ZC=BM_FC zB^hi{_-3SJpce807*naRAasJ02hjEM`;XYQTSrs z`6jX?$eD%k6IeL}N}9dLgF_h2%GEV`tpV0Txl_>3GOSYUc5Wo*inwv(5@*i5i6ZOxVmhthl%mp@q~F=0 zKTuHm9A05cq|{_tpCaqxT!s)arZgxVWtO31-?&mT@zF9W;Sew^wq@8TrJwU!$hs}IZZ6Z9oS`-|Jp!JLievT)DwB8p zf*GeHU+V2MlA&~JUw2-4a^GH-?yzv%^UaQma^bT8y(}wGMV&=D<9*4>ORo1Ka>FB& zLu#}P5GoalS>yZA0iNMpD0ae>He^AKrc=XAU1#mSBGDiIMj(@6!7LRh6{a9^^wly- zN5#C8K~5$1z32Oalt;AgeJb%iSQqh>0=#q=@dJk#YmOtMgsFuoCg&zeTuQ&2VH`Lu zeHXr3LBuJg)EF)K&__PPzx}tLraG3Q6R`CPm9ZK>{uamDcCUk!WL-yXYK(gydoxQXk5jGGxN++yyWI};#yHKfCe4XS>h(#g^>HfIDz$oT zZCg;qYUrzqK2S>gKS%M{rT)p`>bM_8xW zbp`*~&;0_f-{Sl$FZ03+FR*m{Br^vVnHXyZh@D0&MR)T$|NAF@9@wb`2dV^-!;hD$3$c@cy-u3RcP^mRoxpIlI z>2acFgtb)~xuL+{_LCITrSW;1trw&?}czs zRVDxGQ@>8@;wwm7gkn`w3gf|pZ}6%rK_!YQTtUy2SOGy6a(Nc~8Q7#mPkrYf;Q~FtdR8WDyIEO;9y|%^r$~HxA*x8kor9;UWLy6X2;yY}3 z4gpugj9{e{ksA7b4LXj3ch!vcH6he!>T9g=u~kk`mVSLT&SJ`vBmljzIhJ703DJnw z;XSQk@;rq}T|=cDGVHf@@8=q0al}N*%g?Q~WJN(CBqq;sg@12n4$hEe11{gZ#)a$4STwC0 zJsw<|;^8v~(1}Hfgifo+>hc<{6tr78X)R&p<~sGU8gU}XREx1e8xtpfKeh!zsZk@r z;uUN%Skkm zog%CVd=ejPgv}A!$DWxoXKV8oCNHqI4C<$S3N2fb#1-nb>S$^%rSt;^d=9V>G0s7n zCz+;ZGC?S9ejWKsBmpj*;>pQ9N{lY)}ExMgH6(xz4-xMRQv8B%~Gi5oF|2Sv; zrlu4+j!7#iu~c9zWl{2fv-jrFl3n$E?`IEZsQFgi`QDzp)vcjhAPFRdg)x}PU^94# zjcp+C>=zT_={@{xzXY%y59^sYh9nPc$2Jb}92-JxFfqXlVvqz95}>iwt?pKL-|jo# zTk|<*@BRMRyXxK+!dWYN|FBk{rM1*k)vY>J=j{Fa{l4GNw>KEF(eaYgw3HCX(nD4Q z;0fb1`49rF@X}Cg{f$xhPM?=FDTeuw(~q5^zr4Zp@#B2^4}LGTR`W_u)d&P(9X9Wy zt}3OgRzai=3As zTb20DNASA%ETfSZCo~*nSX4thWamBbjf}9TNPMpJN^^yG)jjod`{u0}|DOY$q+Z@O zB5?0wOpoDBN+Yb`;A9IGCmdK>&`VB{rBE=zm8Uw707)ciLndZIp@;X^plKG+GJ${0wVLYut3hac6t}l_Z(z)elLy57E^Qcs6=u0@vrmoKl)vYZktNE#_cbBF*Ap*A=hPe zsqBl#IKnu=zI}&TU0LP9uRlOJNhl{J;z%;PxR>94@BhmO{_qc3US4Byet}x8Mmz%_ z`Pd&bFgfMs3@>=;OIW=2S}Ic$ly!-{$F3u-lsR+i9OY6Otz*iS8c|w8Xz%TpN_k9< z7Nk-@$zO+swY0alQBg!3>9F|=P!f|88H4Gpu)V&_#@Z^w;eeV-kTbJXYfWmECQ|Q! zNrZJgfBy+y^qMzfW#Z|ngEn9O*dKA~u}6p^!EB?#^@|PeJAV?LRM5cJFG=3??)PIF zdl=*ei32SQDy5oNWoUm_nm=+KkK8qn&U@etrE(J~Vw6;6hc5+=N<3;9q#|cN4WUp1s*$f2ApMU`4Vlp!dy9}JnSNi0a_~N7UsGC zp3l>q-@{wp_`hT76WqA(D4S0%@!L^;}-Q#KCJ0Q)^UxZmWZdi3Y=dpD+CNX+HWlALrEe21kw`XKrDUN51j^z0Ec% ziBXZJ({2;TF_lso<2+=h7B#s4OP^+O-+o$CGoUou7>18NNaw<7CX0--?|TolJ5250 z$MV-T@$4+6a-Cc#8rNS#Hte#r(xyB)$sI3zK2;s@ssHgQZoTn1w;nseu-|9-(nS&t zm(QN&%sqE%lXGXqZa-VVm?eRi&8bUSZ03PT*PKdQ00c8Ihc-#JOAeOH;{88o#i09^A=CY+R!R6mnW2d-WvLS@$mbw9xj{5TCA>mkqGGb z6~TY$N!A2GB=p*Fb$GD;+1|DkCJtEV2Q*$?z~S@wpH{zb0k@^W9)BWwWG2D>IcipR z-!t!rd?4w>=9?(3+@^0HqOu5y6`m@?^+&fe=PqvK^|A$Xs3=5 zSfh@6aG7F$OadM1ejhZii zFP@~>$?m=&=pe+FhUa*x=7Yw)K88OcK|2i%!0}#@2YAoI6X3ea<6g9ZlTDv?Xz^w5 z%Yk6WTZDo4RlY%|U%$t!?~2Ak^k}>MFT9oXAIt&j5mJsy$s7h}vH$N zpH}6R`c8DCB`tf+kU;Y7uIvn{uM3#FfSX&6fd&DYWQlAbafz}YShSsWIQjlSp75vY!ZRVFx~dx~`efbFF!08j1GG}GbhyFr`RchPH(xaddf)gg z7&is+c>MY5PjA5LYvWOo)Q=59L!ZU8SQ4RfJJuN7-cjaXfB%j=f2C2(9R=TstLqU` zx8q!XEwpQ}?U2o3<-2yhVgE2PAs)LcRYfj`Ags7nSq$}uA$-TlcqjNQ5n$x}ew?cy z+J`PPY2MI7(`?#51qQ}saPz^GJg?1gpIfJ&qI`W|kj)ehFuCYFWJzZ+T4UV8IM*l& zcLbWlKZMI^735vyFI+CyT+G7%C( zd_zS;=4mRqROf@1cNtN+N;Yfn^pYC~Lcv$l@amw?e zp2&X{Qnn$fXo-cAg+W0m@;5{+bu?e3x<*cM=P6^3GbC;3#?*S~*ODb~J8VkbruQ#W zm9^B+_RAtHFSi#&_(ci#qqs*ky1Ahkp#?2DTc3~|%P7z4+ZN>|9R|IefR*_wM+XhV zmCaI}91!em6s|vQ>8dLfTny_=PL#u2(8b~QkRwt^Vk~bj%mCY-ISp3C@3vOO9S|A= z-(NmIwf)6%BD>=yI`?MMKq;(#PXooZSk`238Vnh#WfWM@atf*@_9>GKV8=W>G_WB6 zGr*E+QJ;QqOx{^J!F$cc(0@OvvGudGLCp@@S4*+Kkz%BRp^s0xO&m|xvz_4xrwgAO zR*^BL?Xt7O3J&BJI)o6G7F%tIL0U>^=>@fAf`1wptrmHtCRNKd`J9TFC%aW)=-P<6 zW`1xgCU-wxsY=I+rk(U9K;iCe1SepdV6jATb_DpbXs(lR=2w{ar|-+Vt>a~BC$)-^ zQbelb@gQc}Y5lq6xjpauonc_O?7nP26S9h&-=!E*9rk;3%$cE~A5 z{*zM;Dh+@mErvF&1w(Xm<)vF_Ni&w+CdYyoGcYf1n7GdH52!WgIl65Ab(o4>dhdYzCM%Tl7s z0e?~#ERM0|Ae6s3OhB8MLN97)`Xl3Lxk-RpYT;*|JL*Fn*B5u03&*7k>C5X$1G7jm z{i0*+?qPgu`f>0gq!_I1ASxim%2(d@UrE$ukp_``*@gVyDnEfX9DMO9jI?ww$`=S~ z;dN4PFOiS|LNa01hU&=1QCiuI*${NtxxGJ=mL;8sl~~t29f%&Kxdjn{uYYydpc)B#s19H{B&bKE@!)AesQYZETP)!?p9{1a*K`m#`72hWa z*bvAQfhyDYN1nt4DS*;Dw$uawKHWT0*ddj$a8!h^d>t{}vXt$k;Z!=}0c)yCQH$s* zN22<_ZsEDGyFRA+T`~iCK45~?Pl(Ewg@sk!cDbq}Q`sLk)au^sul?h?X$&)gVj`?B zHc}Q0Vs5}NRRj|`g!thUf{*GX0*Pk8Lgs);ZKtcV48_UrLOHrXfmXisb^hGJI%pF zzI=JFIUfBNg3rQ5QR#7agdd-ST2oCB6aDq=C&RsMYH=pxOuGwang5r4#^~p7z#I2_ zJSa10cSh<~gzwaOL{L1~GwYGET(VJlliN5qnGsQW$~tH1zR;v5;e7s}itaWj!7MVZ zl&BCrUzi;8+ilT1EmMpfupRXpo2+POEJMD+)}hvF>IFr>O-kLfi{bBbKr)TEeiJ)6 zJJSzmJgjbnR*wwPY$~OcFlJc;*z&Rv2>w>l>*A9h<5+5BWc)5ym@YwuCxC2Ot5Nz- zDW-pT<4dK9uvo5n?v!%NOLpYsYS)&rp{3Em6(qe?4mcu7g}IE0to&5=&6#78wXs)P zPvx$86Zw&((6mWMv2#%w$+uI-(_P~df8vku*`gT8D*vyvuMCQ-*`g(QfWh4ZBn&|V zgM|RWC3w&Pf#B}$Fad&VfMA2WI}9#^1Py_~Z9;ID!Fk-Ocfarcd{ysMpFg{+yH~ZG z>h81F-Zx&=a@Q4!dOHAm8FvQK+Rt^_k^LEqX3;7Zmos{6|Fs%=S1*7Nen!HOm_XdBzkT6xV70|rFlmY61kyi7@T=?fio z0~vSY%1$Qp7n=MnS`yt{rmjI6GdVh;`R~u=4F;5EeO^u7yt5%2+Yybcn$Rba(s}KZ zZ|P{oPjqSPDyn$d-DspccsVS;R-~7zI62hk>%b-fnHKYihNx+s) z@WarcHgMj&h>n;F^mTap6EO;P<|^0bBIwRGnxSAX{I)gDe5tZIQul1D~05>w8sO;BI zRP}SHFZ%&WFsj={X~}jQrG_y};uSF2+PVLvUifZ^goiWA^C@WDHT*t(DLuxkGmgqi zHi*$WZ7wY0_}!R_8tN)M#aB!$ES|DS=0z&AA*5*AEq{a&(1R9bWV&ZBXLlJ8crzU6 zG!*=iD7(7{K7d;qZ*@RAJ-KJ=sS`1IEm;~gM)FF~U#qmdzieq;G{NilOOAyoE=-(t z+=9~hFl^0%|L7$-7Xw8gx8lm~4oa3!k_1vi24+Jrt9b$5wl7yNTT%n5H3@MF%NPA; zGGX5mnUzF_7;n5B^rmZicdZDQBHlO1D3;peCL587r{c(b1gc?`O)TKGu8__{4M|4b+`)K(Sy2AWv%P4# zK9-mke57IJSg7ezVox3PMelL*G-&JEt-0CsC2>Lh4|)`7d;0cEqRMiwz?7@>U1NxP zVEdq&sUjlO$R$Y-!sZYz=jpW5xTvYv#M8xERUQYS8h6lf~{5<&u z6}Y1E33xRyWh8k7|M_Bn-6)Rvr)$zv{8j^^pDAYb3!h3R%5%HjMW5DWazm-L)vwE! z5?TdqQ2v&t&R*ns%gpOCu}wcBxT^w75@iIs#iTgvO%Q=Ic{Zwm2N~OUf4shKP{U9v z8%BzCo?6BIMBoz(;pS{Y?0%#M+Ezptr!RA1sGZT*T}H81iIZm1cd}=E1n=8e32Lq$ zsf?7F%-fpixFpf3kJAd5K8kdd9*dLSmyWvzX1bOI%lxTlE35WFXO!06L*Ame=J{lk zh@NUnp8Ev!h1hBOM+N&%<+qVVEMm_ieC+WNgRgyFr^v_WrWXCSWXNoe&i3a_%fGj9 zPYmxCtod!tA@Zdr%%8AjT*JJYmaxlmvKj zw!?6aL3%hrm#>mrh{ zcI*f9V6{Esbp%S=Y6@cGIdT62o}zA7sjd)w|HT+T9r*cChvNS2#b$Q`7$j3)4Luur z3I@^~c$;%{aj*PXJCauS1a(RQG@VY}t!>vS|x?3-xXV=Vl?>oeXG6oOA8NJ_n>R^2q@f>qJHR>;5uV-(`CQC72ji9I5s7tV;I zkLwA&iME@Bn#_ z2cumbO5FkTbTS09?Z9}7>wb_%B-5OYaje9B&d>F-s1=W@6(_LV zK#c%(F*g@d2bz@b2r2@IVyov?X1{%O4K*DqZ9c z^prBAihOECx(XBgR*@@A=sWD}Yn=5j=8k#i=6x5FA*M^BH@2fHb0ln0tDA#{Y1WV` zdFV@sbj>{RJN{zf<<=<|G5Js>>fY|9X-Q}K6S6gR}!64YMnAZ>n6> z65{Q^+Ut9JEfWtgNTr}klwwwXjvA6|9~H2ax+I%T@4v&1FK!C#^qc~+(-_K`J_ZZu z!!JBF&R6_D{BAM$L1oCsFNfcaU_==V7MsBezIoW31*CyzW2C*3*^1SM7A+l!et5+6 zTe~ecN~F(4h1@&sbe=(Ox|_5+PX`x@TrV%_h64gK8}GMEjz{;(rrIPJ90=brZ(Cp^SJNDp0G!cf16;~;OL`-!ZWju%dgwZx9scX)t}dv52%s)Yvp-|NeqMln4&soqC zYHbe^cus9wTTWw@#5j%K{iSuqMB5^5i|w@ESYQ9011CLuc$;%c<%Q@egW@-@IE-mc z0-fLZq8c3c1jS0(?L`cR)k|GYLV%5+FN8-%%Ux~Cr=tE)bvzT^eE&bqvcAfLMt!6a z0t+M)h}gNlMbTGah-aqN#G17xK+^d=<4x5u5AF!~#4|q!dr(rOiWNK1kwEO^xbds{ z4!b+aDuPoPi>^otd%AEGe7E=~cPj!Lc2$3xYb2J)ja8F6f5(3nZO>q5vo*zT-d6D) z2hm(Y(o7nSVeLg1g9Ey$@B-<5*>}N>w#itGVjr=S3vTGt6gu7cCP!(~a{nCKbUe2? zB=q6p8OG`Sfo{7e!Zu9s_~GKf&K#aX299Ee z5AwU^KeJt*lh`vRmq9PUEUs2v7XVN@z^6yb>wrUI<)XCYRXBl1AHp!KFU}jDfE!Jb>3)fIuyjl)EgFmamUgz`# zdz=!fz&%ncr z=h4Idhy-Iq&l{S}H*Fe6V?JnvYNV|Y-**q~eXv{!qu&9~*>Zs{1_t9NeHSd>bgBQcA?H`+y%kBG8GhMDwQw?7@>A$pqJ~MYgw{KjVJq=(&~xN zRPJkFxV%2_^8@6bQV7`;K@jSa(pNyfIEJ$bW76kn+XoF+y?hamFyzaVD&#+%M^#At z;_ey;g{+taILB6Ge!=a9LSLSauK8)3IP)UKY#CV=9=k?K$LV_B%Gw9#Wg^5^{MKTm zX+Tv0i3QY@JSUx(g{AQ6V2_jgg0abY&&R}cQW{gh<4W~H0U=#+|9w6R3YndPw8T^N zp$^2BmC-93znw{@!1GoDRy%LAb}i- z1cv7CaMF*@uQ!nlC~pbvr~+e$QO2(BAtWDuTzxR$bp3r79d>JR9xlEz4U*7;XKl}< z$G>`RH{H#G3A-AhCM(r5RU)O&S(A+J2qFV~qF9LIahoM5y;Wfx^r^uuk$tN!p=?n9 z4hNl%;L~+4G47TDp%zT!)Rp^pTDYtusLa8nNJ2qCuD5)E|wu zIhfG}>_Mqrd4Vjd0)m-r2bk5{JRk@haEo}xGu=J?$hnfq5Lng`EN8=fEqHjDIyW#* zJwk|&13N-R&5`zr5FKOZ@r@)*I%pGvlfuyAH6)bxDiBR=1XUJb+W!kQh2EpRk5GA2eb2Q%0r1EGzaa3P>%c^)R z9V3fq2{UF|;)U^{e=XVBF%zT?44dL9L&`ZL+k)TV`uXUHND!{yPPN=$KRz474@BNp z^KiRxdl8N3f6Lt<&YvU*tMcRjwqh(Mk&{5A=mo@(7&X?_$BMeYss`!Pe zlmd6f$A>Nnj-@0M5b}=2YCgmBAaci5Lr;YWm!^TJR7?5k{r5l2G6o{TMr8>K+ZNVO z4)Hy7q}XEYv~z$YLhvBU5(YSr9;V{x%E!b(^OU>J3X-Eozsy2A#DHloJzd;^2RNgg zJzkrq+KBndQ$@zD>bVf_ILJ8~#SeMG-hPchUOjlkIC5J8r&&hEvH>8U>7sD3#r_HxJHm=?LbKsi1Lykf0&s3uTgap9^9*y!mS4@$UJmKawo^ zMAVM7)#Jtv6mLNt@r*u&{auB&P~bI=LOPyr@j@Koh4=-LFW~!TS{KNwN#xziN^TkZ zsH#eQ*4XjSK5}s*Zs%HHg2k}0bA>|wg{uqRpZRccX-k=i+ne=a4QEC>{OFq)84S~| zf*(8Y#ggOXpHx}Cr`am^=T77)tTMzMM%(ls)4c2e>8i1wWDf8PaKCLmJ?)drW`W_ZHnGB4iYT-y5qz3DL@7yK>|M{=W@f8nX03>M}EXRyb5GSAL<{rVU}A@yDK_EmQzfRFzN^5dEDA5C-_GLTc{rJI!&Fy>x__BkCCItT&CfpX5QD zvxMtiN}$rz^?oAq&;pnkNp^G^Nw89-{QQ3O(qXKf*3|bNn}0%05MT$;HQ7$W!|xQ= z6<*u?iQDeu{+tkTxGXwb&Y2GDwOT#(R=mwb&c%N4Ir%i?qGeVy3exk*qvH*1MNe+wwnh8;Y}fAJ-SEh~|s@``sD zR2+$996BlygC9?IjGjE;OW1~T0AkZrhf&npDKBtyiX3X%j3j~+HmOnsn{}5z83f!@ zGQ@#$c4$jQnVx8vYe8u8!mJ&$hemVBZ(28K4Xltu zWoyw+Y3(V0nu%KA83Y=a1zTq)M?#^6#!xeY?638+MLYHIy8N=TAf^lR4+SW^D+VJ} zPW8B(6ZcF}3quZbE{TMnJH-ZPxVs5fjSzc|-0?3h2vH(@%N3qQ$%O455*-Cx5v4w@ zQO?uxbrMoc4!pm-`1Rfeq;-1Fd8x~xzH^451M|Y2qDDE-)|U^6e`XErO*5hUht22L zahyy%o~tt4b%+HzN6d_Hb7c<%?~e-o@ZPpW$)0@XEA$N1@j=x{bKe{F>}-}Lx;RES zecbDmM0%z;^lHwRF8zr(Eq{Gwc+oAx=MRH`2Cmk+myk1LcM3p}O`9az%kDRjCC7Pt_Y7vmoOatsnu>DM zwcfe`ba6J+(baiXqB%c-3vEC5Kh9Y?@)SuPalh5skx)vvR#O;A2&M!}L7#3akZbKf z`DJhSis`P@z1}CBu`~q{(F80`ETRavLc&cRObG(rQl7A>bn|EOCes?l{aECB+^(M@h? z)6aV$sU<>48FLZv8eLY;tfYzj)r)ttfK1!t109OF!`D`o@jy4`*M_O#5eD^o?#$om zwfWP^#q5Y=H4N=J>2;WVFxKmdJ5g%NgIUI~90p?VkIz_?MZPTj@CGhlT;@FmI#bGl zeb9pI_knX8@!zxz(aK?*G236#bKHY1yOh4;bM0Z1tk0@<|A>DDn-KQv&5Ok6?CC=* zO`A9#TfL*7@rkj4N@x(C)_qms17&c^vkr}%cE3%}Zg?-+?&M%wAd4m;E6evWiBc(1 zR;(U@b$ZJYE^EHIoTso}-39Frd^8eg;w0DA!jD_T)U&w3z7dK-k<6w_E9kb+>3fqe zpO_n?hh0&_1Vn4W460{N9T8$hP~dSJ8Ego&4rV~Ak2f~(&h+S8wPiOVQ7WIOZt*QG zi*KX~if^265T7Msl+e^lsax=Aa!6xkCS!sV%&1hjCu;S?HXbf9&jwKS^fnfwgtapO z750)j=9JsI;$i^}M;G(g!d2DP5Du|pvC8ws``sSEn}hHG{1nCMglZD;t(ct%Nc1Zi zm@7K>bbz)Xmr?e@Y|p8s&-ic-EB41H54k4=PMam1>+{8(xBCzW=WAPmvB3=#tj;Kg zs5+qf%wkWH6q`7_*}sSvO_p_X!421)WVej#w>uT`vlAvZ*PII_m$PKm1 z)2S+~zUhd0ht@|*+(D2@9#9{$tR#jz2aBtE5tNAcdbnr2SJ=d+riGXDcV6$l9JgeHkwtwRgUH%)C@vT7-e~Y08n8Y`*Tx*_P8Ai| z`mn?_ozU_a+0b`AkBS~@j!RvL*n*Pb|<7$_P+wNvn@?}Sz8L`72@idwdnOwF`5o>{T~Z z*|?D~pKC^QEuAkpzM1^{#cV7o zUJGRq{xi%y%Aa({CJ819H2W#Glt~*W&bUHYaFmN!o(#(e;YzZ|dA!l?`QbeMkK;mj zt|rF6KthFBZ^rwGbYh>!G&+5`(@eKYmIo3GfNKBSWvxlU7?03 z&>2YmT8Y21r1&WIaZ=2^R-|z^SHdy1oZW8Lc9i?`L1jrcUsp2gpJU%Z?!zY@zk2;q zq@SM=)oT0O!TViHyD~a1@}2V#AqTR}FM7;_`3^$FT?ZuMqoEGVG+IL_LOP!8POE1! zYUxfsok1VJLc;+S7~>N-X-)mUJU>Q^oTFr(Cs{2my<59k*3Zl~WXwpt*Cl*guyI2~ zUl8o4-CNt|Q6F4syR@>xIOb|rk0YbEv2jW){&0oq7;v+bA6PvxK9R5`>`?7kQ(k6i z2^AX=+)G=@Bovqi`-i=pb<;FHE52c2kkYv?gP#(WcCb$EqZfAWrrU2eH-eOd0C z?ee&RHW(&$Tz|iSNGoLH;^I;#9gyoPDpLk?u)l%WYC`GK{PpZj@EY(m78DD4vN*GKKN9!sME_hy*p93X8{k{9=d1RO>jVppqn8>2)@;2=8uZReKI$p zco3+`$x*{vPcz6y9Ngn5)1kM!GP=~nPN|I48`~|SMB2yeg1?diUs##Ozm`m)78+o* z&-p%qFLKpsW=Wbd8!UfY`}qr`Y+<9;12{tLot|GCJwJ@fxGdu7y4sY?B24*J*}QgX zLG84vx6$I+t0iv161sRx%<9ja@fJ8yb^SIU{#_wESlu~LjSPt6Ezo}?NLE2wR`OZ)J%_}hxWWAv}2x5uvXOUm#Z4f$x2dM zFKVCgWrs-qCY4k^(8bY3UBs>l-#Sm0-|Xa?*(z)8?v7SR&{LN?Rqc~IZe+`#rMuYXgm-LShM~^28U2t#pwY^n;TwBiFvXI8hp!gis)B6op zyB}h`O=9DXV~|4et!iN|=02qA>zf_HD+7q)l^B*xfSX!+QIFvIwE6+{(mpk1e!>>@ zf|WR!f3)6{5j1N_wV1<1q{iPzXhWl<`8qmhN19dczJ~TYeYmBtx*7REN!eRJ3!~45 zf&dRFwbKYP#KxURlGj~?X_wj1Ue9fMPC&8EbHm2={^n~K%}z++z8sc=r^Bz769r^H znBExV_loGCwQMFv^logsEZk0<`t_aPq!6r%WCpR@)`B&M#oAl2)&oM9mPNUT+}ios zg~7$8gv$;r&s|IB-=w)GYk3GgUeZuzrq6VoO>6Tdl$0fFu6ZtGh;^kma8aUSDO=# zUD|QwTmG>J_|2Yh$bt9dC#k@Y{Uk>0z_;lzlg7Hhrd!XL!pwp$d03zQvgMtgjc``T zafF%+Ho64i|4l@lA&l7nO}#q*HA_4l2XX#u#ty+Y`lo=zl`f?)`afB{j>AtP%XRjD z>hNp*eQ^f!Bzn3C7t8=eTE>o%{!i{*(cSs9D#Q70;8h<(_Jz;R3E4kbI<5YgA!)Ke z1TFtRJ+>azpN6iOp%nY|ACSl9IIAqdzZBTyB>yeWr2aNEgqH_4H1&^-uoGCvA+=0M z%EzpbIIjHR-wZL&WDPaN;2yQ{w@+Is^Iv=aGwM{7rfOPb=`cyXE#u12H<)MF1|!-3 zjNsRaPsc^p3lmJ3J?|-U_AxRA)FRc)zFIU(HX8N_eE(nI6ZD0EhT&W#OpBl_uq$2( b-Xp_d6kRq^`4SPz)1x4xB3&hE9P)nvCZr`w literal 0 HcmV?d00001 diff --git a/model-manager-demo-screenshot.png b/model-manager-demo-screenshot.png deleted file mode 100644 index 07708b741f2fad93f9bd4b9207701e24b4a87bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 609762 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 z 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

        PccGZjAADdcr6R% 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

        `vaB%lV;};hM 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�>De|` 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%0DKm?bj>kTBlGk3CuzzG~g#huq5T3M# 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 Zv%iem0HxPrd)+s#8&nseQ=?@c@n8EH_QC)F From f810f68bbef5d3136703c94e0a0ab43174e7817c Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 15:38:49 -0500 Subject: [PATCH 54/79] Add API key to query string. --- README.md | 2 +- __init__.py | 31 ++++++++++++++++++++++++------- web/model-manager.js | 2 +- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 66c4d37..4736c31 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ Download and browse models in ComfyUI. *(Viewing metadata and deleting are WIP.)*

        - Model Manager Demo Screenshot Model Manager Demo Screenshot + Model Manager Demo Screenshot
        # Fork diff --git a/__init__.py b/__init__.py index 42df17f..90f6516 100644 --- a/__init__.py +++ b/__init__.py @@ -314,12 +314,14 @@ def download_file(url, filename, overwrite): api_key = server_settings["civitai_api_key"] if (api_key != ""): def_headers["Authorization"] = f"Bearer {api_key}" + url = url + f"?token={api_key}" elif url.startswith("https://huggingface.co/"): api_key = server_settings["huggingface_api_key"] if api_key != "": def_headers["Authorization"] = f"Bearer {api_key}" rh = requests.get(url=url, stream=True, verify=False, headers=def_headers, proxies=None, allow_redirects=False) + print(rh.status_code) if not rh.ok: raise Exception("Unable to download") @@ -331,10 +333,12 @@ def download_file(url, filename, overwrite): headers["User-Agent"] = def_headers["User-Agent"] r = requests.get(url=url, stream=True, verify=False, headers=headers, proxies=None, allow_redirects=False) + print(r.status_code) if rh.status_code == 307 and r.status_code == 307: # Civitai redirect redirect_url = r.content.decode("utf-8") if not redirect_url.startswith("http"): + print(redirect_url) # Civitai requires login (NSFW or user-required) # TODO: inform user WHY download failed raise Exception("Unable to download!") @@ -389,22 +393,29 @@ def download_file(url, filename, overwrite): @server.PromptServer.instance.routes.post("/model-manager/download") async def download_model(request): body = await request.json() + result = { + "success": False, + "invalid": None, + } overwrite = body.get("overwrite", False) model_type = body.get("type") model_path_type = model_type_to_dir_name(model_type) if model_path_type is None or model_path_type == "": - return web.json_response({"success": False}) + result["invalid"] = "type" + return web.json_response(result) model_path = body.get("path", "/0") model_path = model_path.replace("/", os.path.sep) regex_result = re.search(r'\d+', model_path) if regex_result is None: - return web.json_response({"success": False}) + result["invalid"] = "type" + return web.json_response(result) model_path_index = int(regex_result.group()) paths = folder_paths_get_folder_paths(model_path_type) if model_path_index < 0 or model_path_index >= len(paths): - return web.json_response({"success": False}) + result["invalid"] = "path" + return web.json_response(result) model_path_span = regex_result.span() directory = os.path.join( comfyui_model_uri, @@ -416,7 +427,9 @@ async def download_model(request): download_uri = body.get("download") if download_uri is None: - return web.json_response({"success": False}) + result["invalid"] = "download" + print(download_uri) + return web.json_response(result) name = body.get("name") model_extension = None @@ -425,15 +438,18 @@ async def download_model(request): model_extension = ext break if model_extension is None: - return web.json_response({"success": False}) + result["invalid"] = "name" + return web.json_response(result) file_name = os.path.join(directory, name) try: download_file(download_uri, file_name, overwrite) except: - return web.json_response({"success": False}) + result["invalid"] = "download" + return web.json_response(result) image_uri = body.get("image") if image_uri is not None and image_uri != "": + # TODO: doesn't work for https://civitai.com/images/... image_extension = None for ext in image_extensions: if image_uri.endswith(ext): @@ -449,7 +465,8 @@ async def download_model(request): except Exception as e: print(e, file=sys.stderr, flush=True) - return web.json_response({"success": True}) + result["success"] = True + return web.json_response(result) WEB_DIRECTORY = "web" NODE_CLASS_MAPPINGS = {} diff --git a/web/model-manager.js b/web/model-manager.js index 4658b1b..3c7dc95 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -2077,7 +2077,7 @@ class ModelManager extends ComfyDialog { $el("div", { $: (el) => (this.#el.modelInfos = el), }, [ - $el("div", ["Input a URL to view download settings."]), + $el("div", ["Input a URL to select a model to download."]), ]), ]); } From 8fbbff217587870f8601c5c077ae8e7499655d72 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 13 Feb 2024 15:40:11 -0500 Subject: [PATCH 55/79] Remove debug print(). --- __init__.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/__init__.py b/__init__.py index 90f6516..b98f544 100644 --- a/__init__.py +++ b/__init__.py @@ -321,7 +321,6 @@ def download_file(url, filename, overwrite): def_headers["Authorization"] = f"Bearer {api_key}" rh = requests.get(url=url, stream=True, verify=False, headers=def_headers, proxies=None, allow_redirects=False) - print(rh.status_code) if not rh.ok: raise Exception("Unable to download") @@ -333,12 +332,10 @@ def download_file(url, filename, overwrite): headers["User-Agent"] = def_headers["User-Agent"] r = requests.get(url=url, stream=True, verify=False, headers=headers, proxies=None, allow_redirects=False) - print(r.status_code) if rh.status_code == 307 and r.status_code == 307: # Civitai redirect redirect_url = r.content.decode("utf-8") if not redirect_url.startswith("http"): - print(redirect_url) # Civitai requires login (NSFW or user-required) # TODO: inform user WHY download failed raise Exception("Unable to download!") @@ -428,7 +425,6 @@ async def download_model(request): download_uri = body.get("download") if download_uri is None: result["invalid"] = "download" - print(download_uri) return web.json_response(result) name = body.get("name") From acc15298bc7e2a6eab20d03f1c315b26a1a03185 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 17 Feb 2024 13:30:58 -0500 Subject: [PATCH 56/79] Added "View Model Info" and "Delete Model" functionality. NOTE: Some small (but important) changes under the hood that may have broken things. "Quality control" tests were done, but may be have missed things. - View model info in Model Tab. - Delete model in Model Info view. (Uses Co - Reduced model path (search path) in models request and added system separator request. - Reworked "system path" "search path", "system separator" and "search separator" (a bit messy, maybe needs another rework). - Updated REST uri structure to be more consistent. --- __init__.py | 178 +++++++++++++++++++++++---- web/model-manager.css | 35 +++++- web/model-manager.js | 272 ++++++++++++++++++++++++++++++++++-------- 3 files changed, 414 insertions(+), 71 deletions(-) diff --git a/__init__.py b/__init__.py index b98f544..f0c91b9 100644 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ import os import pathlib +from datetime import datetime import sys import copy import importlib @@ -68,6 +69,29 @@ def folder_paths_get_supported_pt_extensions(folder_name, refresh = False): # Mi return model_extensions +def search_path_to_system_path(model_path, model_path_type): + # TODO: return model type (since it is bakedi into the search path anyways; simplifies other code) + model_path = model_path.replace("/", os.path.sep) + regex_result = re.search(r'\d+', model_path) + if regex_result is None: + return None + try: + model_path_index = int(regex_result.group()) + except: + return None + paths = folder_paths_get_folder_paths(model_path_type) + if model_path_index < 0 or model_path_index >= len(paths): + return None + model_path_span = regex_result.span() + return os.path.join( + comfyui_model_uri, + ( + paths[model_path_index] + + model_path[model_path_span[1]:] + ) + ) + + def get_safetensor_header(path): try: with open(path, "rb") as f: @@ -148,7 +172,7 @@ async def save_ui_settings(request): }) -@server.PromptServer.instance.routes.get("/model-manager/image-preview") +@server.PromptServer.instance.routes.get("/model-manager/image/preview") async def img_preview(request): uri = request.query.get("uri") @@ -179,7 +203,7 @@ async def img_preview(request): return web.Response(body=image_data, content_type="image/" + image_extension) -@server.PromptServer.instance.routes.get("/model-manager/models") +@server.PromptServer.instance.routes.get("/model-manager/models/list") async def load_download_models(request): model_types = os.listdir(comfyui_model_uri) model_types.remove("configs") @@ -221,11 +245,10 @@ async def load_download_models(request): model_items = [] for model, image, base_path_index, rel_path, date_modified, date_created in file_infos: - # TODO: Stop sending redundant path information item = { "name": model, - "searchPath": "/" + os.path.join(model_type, str(base_path_index), rel_path, model).replace(os.path.sep, "/"), # TODO: Remove hack - "path": os.path.join(rel_path, model), + "path": "/" + os.path.join(model_type, str(base_path_index), rel_path, model).replace(os.path.sep, "/"), # relative logical path + #"systemPath": os.path.join(rel_path, model), # relative system path (less information than "search path") "dateModified": date_modified, "dateCreated": date_created, #"dateLastUsed": "", # TODO: track server-side, send increment client-side @@ -293,7 +316,7 @@ def linear_directory_hierarchy(refresh = False): return dir_list -@server.PromptServer.instance.routes.get("/model-manager/model-directory-list") +@server.PromptServer.instance.routes.get("/model-manager/models/directory-list") async def directory_list(request): #body = await request.json() dir_list = linear_directory_hierarchy(True) @@ -387,7 +410,84 @@ def download_file(url, filename, overwrite): os.rename(filename_temp, filename) -@server.PromptServer.instance.routes.post("/model-manager/download") +@server.PromptServer.instance.routes.get("/model-manager/model/info") +async def get_model_info(request): + model_path = request.query.get("path", None) + if model_path is None: + return web.json_response({}) + model_path = urllib.parse.unquote(model_path) + + model_type = request.query.get("type") # TODO: in the searchPath? + if model_type is None: + return web.json_response({}) + model_type = urllib.parse.unquote(model_type) + + model_path_type = model_type_to_dir_name(model_type) + file = search_path_to_system_path(model_path, model_path_type) + if file is None: + return web.json_response({}) + + info = {} + path, name = os.path.split(model_path) + info["File Name"] = name + info["File Directory"] = path + info["File Size"] = os.path.getsize(file) + stats = pathlib.Path(file).stat() + date_format = "%Y/%m/%d %H:%M:%S" + info["Date Created"] = datetime.fromtimestamp(stats.st_ctime).strftime(date_format) + info["Date Modified"] = datetime.fromtimestamp(stats.st_mtime).strftime(date_format) + + header = get_safetensor_header(file) + metadata = header.get("__metadata__", None) + if metadata is not None: + info["Base Model"] = metadata.get("ss_sd_model_name", "") + info["Clip Skip"] = metadata.get("ss_clip_skip", "") + info["Hash"] = metadata.get("sshs_model_hash", "") + info["Output Name"] = metadata.get("ss_output_name", "") + + img_buckets = metadata.get("ss_bucket_info", "{}") + if type(img_buckets) is str: + img_buckets = json.loads(img_buckets) + resolutions = {} + if img_buckets is not None: + buckets = img_buckets.get("buckets", {}) + for resolution in buckets.values(): + dim = resolution["resolution"] + x, y = dim[0], dim[1] + count = resolution["count"] + resolutions[str(x) + "x" + str(y)] = count + resolutions = list(resolutions.items()) + resolutions.sort(key=lambda x: x[1], reverse=True) + info["Bucket Resolutions"] = resolutions + + dir_tags = metadata.get("ss_tag_frequency", "{}") + if type(dir_tags) is str: + dir_tags = json.loads(dir_tags) + tags = {} + for train_tags in dir_tags.values(): + for tag, count in train_tags.items(): + tags[tag] = tags.get(tag, 0) + count + tags = list(tags.items()) + tags.sort(key=lambda x: x[1], reverse=True) + info["Tags"] = tags + + file_name, _ = os.path.splitext(file) + txt_file = file_name + ".txt" + description = "" + if os.path.isfile(txt_file): + with open(txt_file, 'r', encoding="utf-8") as f: + description = f.read() + info["Description"] = description + + return web.json_response(info) + + +@server.PromptServer.instance.routes.get("/model-manager/system-separator") +async def get_system_separator(request): + return web.json_response(os.path.sep) + + +@server.PromptServer.instance.routes.post("/model-manager/model/download") async def download_model(request): body = await request.json() result = { @@ -403,24 +503,10 @@ async def download_model(request): result["invalid"] = "type" return web.json_response(result) model_path = body.get("path", "/0") - model_path = model_path.replace("/", os.path.sep) - regex_result = re.search(r'\d+', model_path) - if regex_result is None: - result["invalid"] = "type" - return web.json_response(result) - model_path_index = int(regex_result.group()) - paths = folder_paths_get_folder_paths(model_path_type) - if model_path_index < 0 or model_path_index >= len(paths): + directory = search_path_to_system_path(model_path, model_path_type) + if directory is None: result["invalid"] = "path" return web.json_response(result) - model_path_span = regex_result.span() - directory = os.path.join( - comfyui_model_uri, - ( - paths[model_path_index] + - model_path[model_path_span[1]:] - ) - ) download_uri = body.get("download") if download_uri is None: @@ -464,6 +550,52 @@ async def download_model(request): result["success"] = True return web.json_response(result) + +@server.PromptServer.instance.routes.post("/model-manager/model/delete") +async def delete_model(request): + result = { "success": False } + + model_path = request.query.get("path", None) + if model_path is None: + return web.json_response(result) + model_path = urllib.parse.unquote(model_path) + + model_type = request.query.get("type") # TODO: in the searchPath? + if model_type is None: + return web.json_response(result) + model_type = urllib.parse.unquote(model_type) + + model_path_type = model_type_to_dir_name(model_type) + file = search_path_to_system_path(model_path, model_path_type) + if file is None: + return web.json_response(result) + + is_model = None + for ext in folder_paths_get_supported_pt_extensions(model_type): + if file.endswith(ext): + is_model = True + break + if not is_model: + return web.json_response(result) + + if os.path.isfile(file): + os.remove(file) + result["success"] = True + + path_and_name, _ = os.path.splitext(file) + + for img_ext in image_extensions: + image_file = path_and_name + img_ext + if os.path.isfile(image_file): + os.remove(image_file) + + txt_file = path_and_name + ".txt" + if os.path.isfile(txt_file): + os.remove(txt_file) + + return web.json_response(result) + + WEB_DIRECTORY = "web" NODE_CLASS_MAPPINGS = {} __all__ = ["NODE_CLASS_MAPPINGS"] diff --git a/web/model-manager.css b/web/model-manager.css index 6ae11ac..d89613a 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -125,15 +125,23 @@ background-color: rgba(0, 0, 0, 0); } -.comfy-grid .model-preview-top-right { +.comfy-grid .model-preview-top-right, +.comfy-grid .model-preview-top-left { position: absolute; display: flex; flex-direction: column; gap: 8px; top: 8px; +} + +.comfy-grid .model-preview-top-right { right: 8px; } +.comfy-grid .model-preview-top-left { + left: 8px; +} + .comfy-grid .model-button { opacity: 0.65; } @@ -461,3 +469,28 @@ .model-manager [data-name="Download"] .download-settings { flex: 1; } + +.model-manager .model-info-view { + background-color: var(--comfy-menu-bg); + display: none; + height: 100%; + overflow-wrap: break-word; + width: 100%; +} + +.model-manager .model-info-container { + background-color: var(--bg-color); + border-radius: 16px; + color: var(--fg-color); + margin-top: 8px; + max-height: 90%; + padding: 16px; + overflow: auto; + width: auto; +} + +.model-manager .no-select { + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} diff --git a/web/model-manager.js b/web/model-manager.js index 3c7dc95..58bd38c 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -55,7 +55,7 @@ const MODEL_SORT_DATE_CREATED = "dateCreated"; const MODEL_SORT_DATE_MODIFIED = "dateModified"; const MODEL_SORT_DATE_NAME = "name"; -const MODEL_EXTENSIONS = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"]; // TODO: ask server for? +const MODEL_EXTENSIONS = [".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safetensors"]; // TODO: ask server for? const IMAGE_EXTENSIONS = [".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp"]; // TODO: ask server for? /** @@ -174,10 +174,10 @@ function civitai_getModelFilesInfo(modelVersionInfo, type = null, fp = null, siz */ async function civitai_getFilteredInfo(stringUrl) { const url = new URL(stringUrl); - if (url.hostname != 'civitai.com') { return {}; } - if (url.pathname == '/') { return {} } + if (url.hostname != "civitai.com") { return {}; } + if (url.pathname == "/") { return {} } const urlPath = url.pathname; - if (urlPath.startsWith('/api')) { + if (urlPath.startsWith("/api")) { const idEnd = urlPath.length - (urlPath.at(-1) == "/" ? 1 : 0); const idStart = urlPath.lastIndexOf("/", idEnd - 1) + 1; const modelVersionId = urlPath.substring(idStart, idEnd); @@ -260,8 +260,8 @@ async function huggingFace_requestInfo(id, apiPath = "models") { */ async function huggingFace_getFilteredInfo(stringUrl) { const url = new URL(stringUrl); - if (url.hostname != 'huggingface.co') { return {}; } - if (url.pathname == '/') { return {} } + if (url.hostname != "huggingface.co") { return {}; } + if (url.pathname == "/") { return {} } const urlPath = url.pathname; const i0 = 1; const i1 = urlPath.indexOf("/", i0); @@ -376,10 +376,10 @@ class DirectoryDropdown { * @param {Function} updateDropdown * @param {Function} [updateCallback= () => {}] * @param {Function} [submitCallback= () => {}] - * @param {String} [sep="/"] + * @param {String} [searchSeparator="/"] * @param {Boolean} [showDirectoriesOnly=false] */ - constructor(input, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, sep = "/", showDirectoriesOnly = false) { + constructor(input, updateDropdown, updateCallback = () => {}, submitCallback = () => {}, searchSeparator = "/", showDirectoriesOnly = false) { /** @type {HTMLDivElement} */ const dropdown = $el("div.search-dropdown", { // TODO: change to `search-directory-dropdown` style: { @@ -423,7 +423,7 @@ class DirectoryDropdown { e.stopPropagation(); e.preventDefault(); // prevent cursor move const input = e.target; - DirectoryDropdown.selectionToInput(input, selection, sep); + DirectoryDropdown.selectionToInput(input, selection, searchSeparator); updateDropdown(); //updateCallback(); //submitCallback(); @@ -439,11 +439,11 @@ class DirectoryDropdown { else if (e.key === "ArrowLeft" && dropdown.style.display !== "none") { const input = e.target; const oldFilterText = input.value; - const iSep = oldFilterText.lastIndexOf(sep, oldFilterText.length - 2); + const iSep = oldFilterText.lastIndexOf(searchSeparator, oldFilterText.length - 2); const newFilterText = oldFilterText.substring(0, iSep + 1); if (oldFilterText !== newFilterText) { const delta = oldFilterText.substring(iSep + 1); - let isMatch = delta[delta.length-1] === sep; + let isMatch = delta[delta.length-1] === searchSeparator; if (!isMatch) { const options = dropdown.children; for (let i = 0; i < options.length; i++) { @@ -488,7 +488,7 @@ class DirectoryDropdown { const input = e.target const selection = options[iSelection]; if (selection !== undefined && selection !== null) { - DirectoryDropdown.selectionToInput(input, selection, sep); + DirectoryDropdown.selectionToInput(input, selection, searchSeparator); updateDropdown(); updateCallback(); } @@ -542,23 +542,23 @@ class DirectoryDropdown { /** * @param {HTMLInputElement} input * @param {HTMLParagraphElement | undefined | null} selection - * @param {String} [sep="/"] + * @param {String} searchSeparator */ - static selectionToInput(input, selection, sep) { + static selectionToInput(input, selection, searchSeparator) { selection.classList.remove(DROPDOWN_DIRECTORY_SELECTION_CLASS); const selectedText = selection.innerText; const oldFilterText = input.value; - const iSep = oldFilterText.lastIndexOf(sep); + const iSep = oldFilterText.lastIndexOf(searchSeparator); const previousPath = oldFilterText.substring(0, iSep + 1); input.value = previousPath + selectedText; } /** * @param {DirectoryItem[]} directories - * @param {string} sep + * @param {string} searchSeparator * @param {string} [modelType = ""] */ - update(directories, sep, modelType = "") { + update(directories, searchSeparator, modelType = "") { const dropdown = this.element; const input = this.#input; const updateDropdown = this.#updateDropdown; @@ -567,7 +567,7 @@ class DirectoryDropdown { const showDirectoriesOnly = this.showDirectoriesOnly; const filter = input.value; - if (filter[0] !== sep) { + if (filter[0] !== searchSeparator) { dropdown.style.display = "none"; return; } @@ -590,7 +590,7 @@ class DirectoryDropdown { // TODO: directories === undefined? let indexLastWord = 1; while (true) { - const indexNextWord = filter.indexOf(sep, indexLastWord); + const indexNextWord = filter.indexOf(searchSeparator, indexLastWord); if (indexNextWord === -1) { // end of filter break; @@ -643,7 +643,7 @@ class DirectoryDropdown { const isDir = grandChildCount !== undefined && grandChildCount !== null && grandChildCount > 0; const itemName = child["name"]; if (itemName.startsWith(lastWord) && (!showDirectoriesOnly || (showDirectoriesOnly && isDir))) { - options.push(itemName + (isDir ? "/" : "")); + options.push(itemName + (isDir ? searchSeparator : "")); } } } @@ -680,7 +680,7 @@ class DirectoryDropdown { const selection_submit = (e) => { e.stopPropagation(); const selection = e.target; - DirectoryDropdown.selectionToInput(input, selection, sep); + DirectoryDropdown.selectionToInput(input, selection, searchSeparator); updateDropdown(); updateCallback();e.target submitCallback(); @@ -729,6 +729,16 @@ function pathToFileString(path) { return path.slice(i); } +/** + * @param {string} path + * @returns {string} + */ +function searchPathToSystemPath(path, searchSeparator, systemSeparator) { + const i1 = path.indexOf(searchSeparator, 1); + const i2 = path.indexOf(searchSeparator, i1 + 1); + return path.slice(i2 + 1).replaceAll(searchSeparator, systemSeparator); +} + /** * @param {string} file * @returns {string | undefined} @@ -764,6 +774,9 @@ function insertEmbeddingIntoText(text, file, removeExtension) { * @param {string} [resetText=""] */ function buttonAlert(element, success, successText = "", failureText = "", resetText = "") { + if (element === undefined || element === null) { + return; + } const name = success ? "button-success" : "button-failure"; element.classList.add(name); if (successText != "" && failureText != "") { @@ -775,7 +788,7 @@ function buttonAlert(element, success, successText = "", failureText = "", reset if (innerHTML != "") { element.innerHTML = innerHTML; } - }, 500, element, name, resetText); + }, 1000, element, name, resetText); } class Tabs { @@ -874,7 +887,7 @@ class ModelGrid { .filter(Boolean); const regexSHA256 = /^[a-f0-9]{64}$/gi; - const fields = ["name", "searchPath"]; // TODO: Remove "searchPath" hack. + const fields = ["name", "path"]; return list.filter((element) => { const text = fields .reduce((memo, field) => memo + " " + element[field], "") @@ -1063,9 +1076,12 @@ class ModelGrid { * @param {Array} models * @param {string} modelType * @param {Object.} settingsElements + * @param {String} searchSeparator + * @param {String} systemSeparator + * @param {Function} modelInfoCallback * @returns {HTMLElement[]} */ - static #generateInnerHtml(models, modelType, settingsElements) { + static #generateInnerHtml(models, modelType, settingsElements, searchSeparator, systemSeparator, modelInfoCallback) { // TODO: seperate text and model logic; getting too messy // TODO: fallback on button failure to copy text? const canShowButtons = modelNodeType[modelType] !== undefined; @@ -1078,14 +1094,21 @@ class ModelGrid { if (models.length > 0) { return models.map((item) => { const uri = item.post ?? "no-post"; - const imgUrl = `/model-manager/image-preview?uri=${uri}`; + const imgUrl = `/model-manager/image/preview?uri=${uri}`; + const searchPath = item.path; + const path = searchPathToSystemPath(searchPath, searchSeparator, systemSeparator); let buttons = []; if (showAddButton) { buttons.push( $el("button.icon-button.model-button", { type: "button", textContent: "⧉︎", - onclick: (e) => ModelGrid.#copyModelToClipboard(e, modelType, item.path, removeEmbeddingExtension), + onclick: (e) => ModelGrid.#copyModelToClipboard( + e, + modelType, + path, + removeEmbeddingExtension + ), draggable: false, }) ); @@ -1095,12 +1118,24 @@ class ModelGrid { $el("button.icon-button.model-button", { type: "button", textContent: "✚", - onclick: (e) => ModelGrid.#addModel(e, modelType, item.path, removeEmbeddingExtension, addOffset), + onclick: (e) => ModelGrid.#addModel( + e, + modelType, + path, + removeEmbeddingExtension, + addOffset + ), draggable: false, }) ); } - const dragAdd = (e) => ModelGrid.#dragAddModel(e, modelType, item.path, removeEmbeddingExtension, strictDragToAdd); + const dragAdd = (e) => ModelGrid.#dragAddModel( + e, + modelType, + path, + removeEmbeddingExtension, + strictDragToAdd + ); return $el("div.item", {}, [ $el("img.model-preview", { src: imgUrl, @@ -1115,6 +1150,16 @@ class ModelGrid { }, buttons ), + $el("div.model-preview-top-left", { + draggable: false, + }, [ + $el("button.icon-button.model-button", { + type: "button", + textContent: "ⓘ", + onclick: async() => modelInfoCallback(modelType, searchPath), + draggable: false, + }), + ]), $el("div.model-label", { ondragend: (e) => dragAdd(e), draggable: true, @@ -1138,8 +1183,11 @@ class ModelGrid { * @param {boolean} reverseSort * @param {Array} previousModelFilters * @param {HTMLInputElement} modelFilter + * @param {String} searchSeparator + * @param {String} systemSeparator + * @param {Function} modelInfoCallback */ - static update(modelGrid, models, modelSelect, previousModelType, settings, sortBy, reverseSort, previousModelFilters, modelFilter) { + static update(modelGrid, models, modelSelect, previousModelType, settings, sortBy, reverseSort, previousModelFilters, modelFilter, searchSeparator, systemSeparator, modelInfoCallback) { let modelType = modelSelect.value; if (models[modelType] === undefined) { modelType = "checkpoints"; // TODO: magic value @@ -1173,7 +1221,14 @@ class ModelGrid { ModelGrid.#sort(modelList, sortBy, reverseSort); modelGrid.innerHTML = ""; - const modelGridModels = ModelGrid.#generateInnerHtml(modelList, modelType, settings); + const modelGridModels = ModelGrid.#generateInnerHtml( + modelList, + modelType, + settings, + searchSeparator, + systemSeparator, + modelInfoCallback, + ); modelGrid.append.apply(modelGrid, modelGridModels); } } @@ -1221,6 +1276,8 @@ function $radioGroup(attr) { class ModelManager extends ComfyDialog { #el = { + /** @type {HTMLDivElement} */ modelInfoView: null, + /** @type {HTMLDivElement} */ modelInfoContainer: null, /** @type {HTMLDivElement} */ modelInfoUrl: null, /** @type {HTMLDivElement} */ modelInfos: null, @@ -1257,7 +1314,10 @@ class ModelManager extends ComfyDialog { }; /** @type {string} */ - #sep = "/"; + #searchSeparator = "/"; + + /** @type {string} */ + #systemSeparator = null; constructor() { super(); @@ -1268,6 +1328,53 @@ class ModelManager extends ComfyDialog { }, [ $el("div.comfy-modal-content", [ // TODO: settings.top_bar_left_to_right or settings.top_bar_right_to_left + $el("div.model-info-view", { + $: (el) => (this.#el.modelInfoView = el), + }, [ + $el("div", { + style: { + display: "flex", + gap: "8px", + }, + }, [ + $el("button.icon-button", { + textContent: "🗑︎", + onclick: async(e) => { + const affirmation = "delete"; + const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY?\n\nThis includes all image or text files."); + let deleted = false; + if (confirmation === affirmation) { + const container = this.#el.modelInfoContainer; + const path = encodeURIComponent(container.dataset.path); + const type = encodeURIComponent(this.#el.modelTypeSelect.value); + await request( + `/model-manager/model/delete?path=${path}&type=${type}`, + { + method: "POST", + } + ) + .then((result) => { + if (result["success"]) + { + container.innerHTML = ""; + this.#el.modelInfoView.style.display = "none"; + this.#modelTab_updateModels(); + deleted = true; + } + }) + .catch(err => {}); + } + if (!deleted) { + buttonAlert(e.target, false); + } + }, + }), + ]), + $el("div.model-info-container", { + $: (el) => (this.#el.modelInfoContainer = el), + "data-path": "", + }), + ]), $el("div.topbar-buttons", [ $el("div.sidebar-buttons", @@ -1294,7 +1401,15 @@ class ModelManager extends ComfyDialog { ]), $el("button.icon-button", { textContent: "✖", - onclick: () => this.close(), + onclick: () => { + const infoView = this.#el.modelInfoView; + if (infoView.style.display === "none") { + this.close(); + } + else { + infoView.style.display = "none"; + } + }, }), ] ), @@ -1336,7 +1451,7 @@ class ModelManager extends ComfyDialog { this.#modelTab_updateDirectoryDropdown, this.#modelTab_updatePreviousModelFilter, this.#modelTab_updateModelGrid, - this.#sep, + this.#searchSeparator, false, ); this.#modelContentFilterDirectoryDropdown = searchDropdown; @@ -1398,13 +1513,17 @@ class ModelManager extends ComfyDialog { sortBy, reverseSort, this.#data.previousModelFilters, - this.#el.modelContentFilter + this.#el.modelContentFilter, + this.#searchSeparator, + this.#systemSeparator, + this.#modelTab_showModelInfo, ); } async #modelTab_updateModels() { - this.#data.models = await request("/model-manager/models"); - const newModelDirectories = await request("/model-manager/model-directory-list"); + this.#systemSeparator = await request("/model-manager/system-separator"); + this.#data.models = await request("/model-manager/models/list"); + const newModelDirectories = await request("/model-manager/models/directory-list"); this.#data.modelDirectories.splice(0, Infinity, ...newModelDirectories); // note: do NOT create a new array this.#modelTab_updateModelGrid(); } @@ -1418,12 +1537,69 @@ class ModelManager extends ComfyDialog { #modelTab_updateDirectoryDropdown = () => { this.#modelContentFilterDirectoryDropdown.update( this.#data.modelDirectories, - this.#sep, + this.#searchSeparator, this.#el.modelTypeSelect.value, ); this.#modelTab_updatePreviousModelFilter(); } + /** + * @param {string} modelType + * @param {string} searchPath + */ + #modelTab_showModelInfo = async(modelType, searchPath) => { + const type = encodeURIComponent(modelType); + const path = encodeURIComponent(searchPath); + const info = await request(`/model-manager/model/info?path=${path}&type=${type}`) + .catch(err => { + console.log(err); + return null; + }); + if (info === null) { + return; + } + const infoHtml = this.#el.modelInfoContainer; + infoHtml.innerHTML = ""; + infoHtml.dataset.path = searchPath; + const innerHtml = []; + const filename = info["File Name"]; + if (filename !== undefined && filename !== null && filename !== "") { + innerHtml.push($el("h1", [filename])); + } + for (const [key, value] of Object.entries(info)) { + if (value === undefined || value === null || value === "") { + continue; + } + + if (Array.isArray(value)) { + if (value.length > 0) { + innerHtml.push($el("h2", [key + ":"])); + + let text = "

        "; + for (let i = 0; i < value.length; i++) { + const v = value[i]; + const tag = v[0]; + const count = v[1]; + text += tag + " (" + count + ")"; + if (i !== value.length - 1) { + text += ", "; + } + } + text += "

        "; + const div = $el("div"); + div.innerHTML = text; + innerHtml.push(div); + } + } + else { + innerHtml.push($el("p", [key + ": " + value])); + } + } + infoHtml.append.apply(infoHtml, innerHtml); + + this.#el.modelInfoView.style.display = "block"; + } + /** * @param {HTMLInputElement[]} settings * @param {boolean} reloadData @@ -1482,7 +1658,9 @@ class ModelManager extends ComfyDialog { method: "POST", body: JSON.stringify({ "settings": settings }), } - ); + ).catch((err) => { + return { "success": false }; + }); const success = data["success"]; if (success) { const settings = data["settings"]; @@ -1636,7 +1814,7 @@ class ModelManager extends ComfyDialog { modelManager.classList.add(newSidebarState); } } - + /** * @param {HTMLDivElement} previewImageContainer * @param {Event} e @@ -1661,16 +1839,16 @@ class ModelManager extends ComfyDialog { else if (currentIndex < 0) { currentIndex = children.length - 1; } children[currentIndex].style.display = "block"; } - + /** * @param {Object} info * @param {String[]} modelTypes * @param {DirectoryItem[]} modelDirectories - * @param {String} sep + * @param {String} searchSeparator * @param {int} id * @returns {HTMLDivElement} */ - #downloadTab_modelInfo(info, modelTypes, modelDirectories, sep, id) { + #downloadTab_modelInfo(info, modelTypes, modelDirectories, searchSeparator, id) { // TODO: use passed in info const RADIO_MODEL_PREVIEW_NONE = "No Preview"; const RADIO_MODEL_PREVIEW_DEFAULT = "Default Preview"; @@ -1715,13 +1893,13 @@ class ModelManager extends ComfyDialog { if (modelType === "") { return; } searchDropdown.update( modelDirectories, - sep, + searchSeparator, modelType, ); }, () => {}, () => {}, - sep, + searchSeparator, true, ); @@ -1869,7 +2047,7 @@ class ModelManager extends ComfyDialog { let success = true; let resultText = "✔"; await request( - "/model-manager/download", + "/model-manager/model/download", { method: "POST", body: JSON.stringify(record), @@ -1951,7 +2129,7 @@ class ModelManager extends ComfyDialog { return modelInfo; } - + async #downloadTab_search() { const infosHtml = this.#el.modelInfos; infosHtml.innerHTML = ""; @@ -2039,7 +2217,7 @@ class ModelManager extends ComfyDialog { modelInfo, modelTypes, this.#data.modelDirectories, - this.#sep, + this.#searchSeparator, id, ); }); From 9f4d21ac5b6b5bbb6d1320b38a387b6539cc92ce Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 17 Feb 2024 13:31:42 -0500 Subject: [PATCH 57/79] Update README. --- README.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4736c31..d8cdb24 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,16 @@ # comfyui-model-manager -Download and browse models in ComfyUI. - -*(Viewing metadata and deleting are WIP.)* +Download, browse and delete models in ComfyUI.
        Model Manager Demo Screenshot Model Manager Demo Screenshot
        -# Fork - ## About this fork I made this fork because the original repo was inactive and missing many things I needed to make ComfyUI more usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. -Currently it is still missing a way to view/download model metadata and delete a model. - ## Fork Improvements ### Download Tab @@ -35,6 +29,7 @@ Currently it is still missing a way to view/download model metadata and delete a - Add `/` at the start of the search bar to see auto-complete suggestions. - Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. - Sort for models (Date Created, Date Modified, Name). +- View model metadata, including training tags and bucket resolutions. ### ComfyUI Node Graph @@ -68,17 +63,15 @@ Currently it is still missing a way to view/download model metadata and delete a ### Model info window/panel (server load/send on demand) -- Info icon `ⓘ` button to view. +- Set preview image. - Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - Radio buttons to swap between downloaded and server view. -- Delete model with warning popup. -- Set preview image. ### Settings - Exclude hidden folders with a `.` prefix. - Enable optional checksum to detect if a model is already downloaded. -- Sidebar width. +- Sidebar width/height. ### Search filtering and sort From f1c802164ffbb2bd8ede71654c65c5773490c80f Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sat, 17 Feb 2024 14:22:53 -0500 Subject: [PATCH 58/79] Updated README. --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d8cdb24..74cf60c 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,9 @@ I made this fork because the original repo was inactive and missing many things ### Download Tab -- Remade download tab. - - View multiple models connected to url. - - Select download directory. - - Optionally download default or custom preivew image. +- View multiple models associated to a url. +- Select download directory. +- Optionally download default or custom preview image. - Civitai and HuggingFace API token configurable in `server_settings.yaml`. ### Models Tab @@ -42,13 +41,13 @@ I made this fork because the original repo was inactive and missing many things ### Settings Tab -- Correctly change colors using ComfyUI's theme colors. +- Change colors using ComfyUI's theme colors. - Settings tab saved in `ui_settings.yaml`. - Hide/Show 'add' and 'copy-to-clipboard' buttons. - Text to always search. - Show/Hide add embedding extension. -## TODO: +## TODO ### Code @@ -63,6 +62,7 @@ I made this fork because the original repo was inactive and missing many things ### Model info window/panel (server load/send on demand) +- Move a model to a different directory. - Set preview image. - Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - Radio buttons to swap between downloaded and server view. From 7b98d810ba5e57f5e15abe475b5ad63a0e2ef2a9 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 19 Feb 2024 19:15:16 -0500 Subject: [PATCH 59/79] Move model in Model Info view. - Added server REST API endpoint for moving a model and associated resources. --- README.md | 5 ++- __init__.py | 72 ++++++++++++++++++++++++++++++++-------- web/model-manager.css | 40 +++++++++++----------- web/model-manager.js | 77 +++++++++++++++++++++++++++++++++++++++---- 4 files changed, 154 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 74cf60c..ca5a3e3 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,11 @@ I made this fork because the original repo was inactive and missing many things - Add `/` at the start of the search bar to see auto-complete suggestions. - Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. - Sort for models (Date Created, Date Modified, Name). + +### Model Info + - View model metadata, including training tags and bucket resolutions. +- Delete or move a model. ### ComfyUI Node Graph @@ -62,7 +66,6 @@ I made this fork because the original repo was inactive and missing many things ### Model info window/panel (server load/send on demand) -- Move a model to a different directory. - Set preview image. - Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - Radio buttons to swap between downloaded and server view. diff --git a/__init__.py b/__init__.py index f0c91b9..416ee96 100644 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ import os import pathlib +import shutil from datetime import datetime import sys import copy @@ -172,8 +173,8 @@ async def save_ui_settings(request): }) -@server.PromptServer.instance.routes.get("/model-manager/image/preview") -async def img_preview(request): +@server.PromptServer.instance.routes.get("/model-manager/preview/get") +async def get_model_preview(request): uri = request.query.get("uri") image_path = no_preview_image @@ -337,7 +338,7 @@ def download_file(url, filename, overwrite): api_key = server_settings["civitai_api_key"] if (api_key != ""): def_headers["Authorization"] = f"Bearer {api_key}" - url = url + f"?token={api_key}" + url = url + f"?token={api_key}" # TODO: Authorization didn't work in the header elif url.startswith("https://huggingface.co/"): api_key = server_settings["huggingface_api_key"] if api_key != "": @@ -445,6 +446,15 @@ async def get_model_info(request): info["Hash"] = metadata.get("sshs_model_hash", "") info["Output Name"] = metadata.get("ss_output_name", "") + file_name, _ = os.path.splitext(file) + txt_file = file_name + ".txt" + description = "" + if os.path.isfile(txt_file): + with open(txt_file, 'r', encoding="utf-8") as f: + description = f.read() + info["Description"] = description + + if metadata is not None: img_buckets = metadata.get("ss_bucket_info", "{}") if type(img_buckets) is str: img_buckets = json.loads(img_buckets) @@ -471,14 +481,6 @@ async def get_model_info(request): tags.sort(key=lambda x: x[1], reverse=True) info["Tags"] = tags - file_name, _ = os.path.splitext(file) - txt_file = file_name + ".txt" - description = "" - if os.path.isfile(txt_file): - with open(txt_file, 'r', encoding="utf-8") as f: - description = f.read() - info["Description"] = description - return web.json_response(info) @@ -531,16 +533,16 @@ async def download_model(request): image_uri = body.get("image") if image_uri is not None and image_uri != "": - # TODO: doesn't work for https://civitai.com/images/... - image_extension = None + image_extension = None # TODO: doesn't work for https://civitai.com/images/... for ext in image_extensions: if image_uri.endswith(ext): image_extension = ext break if image_extension is not None: + file_path_without_extension = name[:len(name) - len(model_extension)] image_name = os.path.join( directory, - (name[:len(name) - len(model_extension)]) + image_extension + file_path_without_extension + image_extension ) try: download_file(image_uri, image_name, overwrite) @@ -551,6 +553,48 @@ async def download_model(request): return web.json_response(result) +@server.PromptServer.instance.routes.post("/model-manager/model/move") +async def move_model(request): + body = await request.json() + model_type = body.get("type", None) + if model_type is None: + return web.json_response({ "success": False }) + + old_file = body.get("oldFile", None) + if old_file is None: + return web.json_response({ "success": False }) + old_file = search_path_to_system_path(old_file, model_type) + if not os.path.isfile(old_file): + return web.json_response({ "success": False }) + _, filename = os.path.split(old_file) + + new_path = body.get("newDirectory", None) + if new_path is None: + return web.json_response({ "success": False }) + new_path = search_path_to_system_path(new_path, model_type) + if not os.path.isdir(new_path): + return web.json_response({ "success": False }) + + new_file = os.path.join(new_path, filename) + try: + shutil.move(old_file, new_file) + except: + return web.json_response({ "success": False }) + + old_file_without_extension, _ = os.path.splitext(old_file) + new_file_without_extension, _ = os.path.splitext(new_file) + + for extension in image_extensions + (".txt",): + old_file = old_file_without_extension + extension + if os.path.isfile(old_file): + try: + shutil.move(old_file, new_file_without_extension + extension) + except Exception as e: + print(e, file=sys.stderr, flush=True) + + return web.json_response({ "success": True }) + + @server.PromptServer.instance.routes.post("/model-manager/model/delete") async def delete_model(request): result = { "success": False } diff --git a/web/model-manager.css b/web/model-manager.css index d89613a..d460bbb 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -42,7 +42,7 @@ } .comfy-tabs-body { - background-color: var(--comfy-input-bg); + background-color: var(--bg-color); border: 2px solid var(--border-color); border-top: none; padding: 16px 0px; @@ -254,13 +254,13 @@ } .model-manager ::-webkit-scrollbar-track { - background-color: #353535; + background-color: var(--comfy-input-bg); border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); } .model-manager ::-webkit-scrollbar-thumb { - background-color: #a1a1a1; + background-color: var(--fg-color); border-radius: 3px; } @@ -331,20 +331,11 @@ color: var(--input-text); } -.model-manager .row { - position: relative; - padding-top: 2px; - margin-top: -2px; - padding-bottom: 18px; - margin-bottom: 1px; - top: -1px; - background-color: var(--comfy-input-bg); -} - .model-manager [data-name="Install"] .row, .model-manager [data-name="Models"] .row { position: sticky; z-index: 1; + top: 0; } .model-manager [data-name="Install"] input { @@ -359,7 +350,10 @@ } .model-manager .tab-header { - display: block; + display: flex; + padding: 8px 0; + flex-direction: column; + background-color: var(--bg-color); } .model-manager .tab-header-flex-block { @@ -393,6 +387,7 @@ position: absolute; background-color: var(--bg-color); border: 2px var(--border-color) solid; + color: var(--fg-color); max-height: 30vh; overflow: auto; border-radius: 10px; @@ -471,11 +466,16 @@ } .model-manager .model-info-view { - background-color: var(--comfy-menu-bg); - display: none; + background-color: var(--bg-color); + border: 2px solid var(--border-color); + box-sizing: border-box; + display: flex; + flex-direction: column; height: 100%; + margin-top: 40px; overflow-wrap: break-word; - width: 100%; + overflow-y: auto; + padding: 20px; } .model-manager .model-info-container { @@ -483,9 +483,7 @@ border-radius: 16px; color: var(--fg-color); margin-top: 8px; - max-height: 90%; padding: 16px; - overflow: auto; width: auto; } @@ -494,3 +492,7 @@ -ms-user-select: none; user-select: none; } + +.model-manager .download-model-infos { + padding: 16px 0; +} diff --git a/web/model-manager.js b/web/model-manager.js index 58bd38c..4d3ad3a 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1094,7 +1094,7 @@ class ModelGrid { if (models.length > 0) { return models.map((item) => { const uri = item.post ?? "no-post"; - const imgUrl = `/model-manager/image/preview?uri=${uri}`; + const imgUrl = `/model-manager/preview/get?uri=${uri}`; const searchPath = item.path; const path = searchPathToSystemPath(searchPath, searchSeparator, systemSeparator); let buttons = []; @@ -1284,7 +1284,7 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, /** @type {HTMLSelectElement} */ modelSortSelect: null, - /** @type {HTMLDivElement} */ searchDirectoryDropdown: null, + /** @type {HTMLDivElement} */ //searchDirectoryDropdown: null, /** @type {HTMLInputElement} */ modelContentFilter: null, /** @type {HTMLDivElement} */ sidebarButtons: null, @@ -1321,6 +1321,25 @@ class ModelManager extends ComfyDialog { constructor() { super(); + + const moveDestination = $el("input.search-text-area", { + placeholder: "/", + }); + let searchDropdown = null; + searchDropdown = new DirectoryDropdown( + moveDestination, + () => { + searchDropdown.update( + this.#data.modelDirectories, + this.#searchSeparator, + ); + }, + () => {}, + () => {}, + this.#searchSeparator, + true, + ); + this.element = $el( "div.comfy-modal.model-manager", { @@ -1330,6 +1349,7 @@ class ModelManager extends ComfyDialog { $el("div.comfy-modal-content", [ // TODO: settings.top_bar_left_to_right or settings.top_bar_right_to_left $el("div.model-info-view", { $: (el) => (this.#el.modelInfoView = el), + style: { display: "none" }, }, [ $el("div", { style: { @@ -1341,7 +1361,7 @@ class ModelManager extends ComfyDialog { textContent: "🗑︎", onclick: async(e) => { const affirmation = "delete"; - const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY?\n\nThis includes all image or text files."); + const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY.\n\nThis includes all image or text files."); let deleted = false; if (confirmation === affirmation) { const container = this.#el.modelInfoContainer; @@ -1370,6 +1390,50 @@ class ModelManager extends ComfyDialog { }, }), ]), + $el("div.row.tab-header", { + display: "block", + }, [ + $el("div.row.tab-header-flex-block", [ + $el("div.search-models", [ + moveDestination, + searchDropdown.element, + ]), + $el("button", { + textContent: "Move", + onclick: async(e) => { + const container = this.#el.modelInfoContainer; + const path = container.dataset.path; + const type = this.#el.modelTypeSelect.value; + const destination = moveDestination.value; + let moved = false; + await request( + `/model-manager/model/move`, + { + method: "POST", + body: JSON.stringify({ + "type": type, + "oldFile": path, + "newDirectory": destination, + }), + } + ) + .then((result) => { + if (result["success"]) + { + container.innerHTML = ""; + this.#el.modelInfoView.style.display = "none"; + this.#modelTab_updateModels(); + moved = true; + } + }) + .catch(err => {}); + if (!moved) { + buttonAlert(e.target, false); + } + }, + }), + ]), + ]), $el("div.model-info-container", { $: (el) => (this.#el.modelInfoContainer = el), "data-path": "", @@ -1597,7 +1661,8 @@ class ModelManager extends ComfyDialog { } infoHtml.append.apply(infoHtml, innerHtml); - this.#el.modelInfoView.style.display = "block"; + this.#el.modelInfoView.removeAttribute("style"); // remove "display: none" + // TODO: set default value of dropdown and value to model type? } /** @@ -2234,7 +2299,7 @@ class ModelManager extends ComfyDialog { * @returns {HTMLElement} */ #downloadTab_new() { - return $el("div", [ + return $el("div.tab-header", [ $el("div.row.tab-header-flex-block", [ $el("input.search-text-area", { $: (el) => (this.#el.modelInfoUrl = el), @@ -2252,7 +2317,7 @@ class ModelManager extends ComfyDialog { textContent: "🔍︎", }), ]), - $el("div", { + $el("div.download-model-infos", { $: (el) => (this.#el.modelInfos = el), }, [ $el("div", ["Input a URL to select a model to download."]), From 48d5757d2b95ae8965666c46357bd75d19435bde Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 19 Feb 2024 20:28:55 -0500 Subject: [PATCH 60/79] Removed redundant information. - Search path is deconstructed on the server to extract model type. Front and back end changed. - Show directory even if empty. (Prevented moving a file to an empty directory.) --- __init__.py | 85 +++++++++++++++++++++----------------------- web/model-manager.js | 34 ++++++++---------- 2 files changed, 54 insertions(+), 65 deletions(-) diff --git a/__init__.py b/__init__.py index 416ee96..16a49b1 100644 --- a/__init__.py +++ b/__init__.py @@ -70,28 +70,43 @@ def folder_paths_get_supported_pt_extensions(folder_name, refresh = False): # Mi return model_extensions -def search_path_to_system_path(model_path, model_path_type): - # TODO: return model type (since it is bakedi into the search path anyways; simplifies other code) - model_path = model_path.replace("/", os.path.sep) - regex_result = re.search(r'\d+', model_path) - if regex_result is None: - return None - try: - model_path_index = int(regex_result.group()) - except: - return None +def search_path_to_system_path(model_path): + sep = os.path.sep + model_path = os.path.normpath(model_path.replace("/", sep)) + + isep0 = 0 if model_path[0] == sep else -1 + + isep1 = model_path.find(sep, isep0 + 1) + if isep1 == -1 or isep1 == len(model_path): + return (None, None) + + isep2 = model_path.find(sep, isep1 + 1) + if isep2 == -1 or isep2 - isep1 == 1: + isep2 = len(model_path) + + model_path_type = model_path[isep0 + 1:isep1] paths = folder_paths_get_folder_paths(model_path_type) + if len(paths) == 0: + return (None, None) + + model_path_index = model_path[isep1 + 1:isep2] + try: + model_path_index = int(model_path_index) + except: + return (None, None) if model_path_index < 0 or model_path_index >= len(paths): - return None - model_path_span = regex_result.span() - return os.path.join( - comfyui_model_uri, - ( - paths[model_path_index] + - model_path[model_path_span[1]:] - ) + return (None, None) + + system_path = os.path.normpath( + paths[model_path_index] + + sep + + model_path[isep2:] ) + return (system_path, model_path_type) + +print() + def get_safetensor_header(path): try: @@ -418,13 +433,7 @@ async def get_model_info(request): return web.json_response({}) model_path = urllib.parse.unquote(model_path) - model_type = request.query.get("type") # TODO: in the searchPath? - if model_type is None: - return web.json_response({}) - model_type = urllib.parse.unquote(model_type) - - model_path_type = model_type_to_dir_name(model_type) - file = search_path_to_system_path(model_path, model_path_type) + file, _ = search_path_to_system_path(model_path) if file is None: return web.json_response({}) @@ -496,16 +505,11 @@ async def download_model(request): "success": False, "invalid": None, } - + overwrite = body.get("overwrite", False) - - model_type = body.get("type") - model_path_type = model_type_to_dir_name(model_type) - if model_path_type is None or model_path_type == "": - result["invalid"] = "type" - return web.json_response(result) + model_path = body.get("path", "/0") - directory = search_path_to_system_path(model_path, model_path_type) + directory, model_type = search_path_to_system_path(model_path) if directory is None: result["invalid"] = "path" return web.json_response(result) @@ -556,14 +560,11 @@ async def download_model(request): @server.PromptServer.instance.routes.post("/model-manager/model/move") async def move_model(request): body = await request.json() - model_type = body.get("type", None) - if model_type is None: - return web.json_response({ "success": False }) old_file = body.get("oldFile", None) if old_file is None: return web.json_response({ "success": False }) - old_file = search_path_to_system_path(old_file, model_type) + old_file, _ = search_path_to_system_path(old_file) if not os.path.isfile(old_file): return web.json_response({ "success": False }) _, filename = os.path.split(old_file) @@ -571,7 +572,7 @@ async def move_model(request): new_path = body.get("newDirectory", None) if new_path is None: return web.json_response({ "success": False }) - new_path = search_path_to_system_path(new_path, model_type) + new_path, _ = search_path_to_system_path(new_path) if not os.path.isdir(new_path): return web.json_response({ "success": False }) @@ -604,13 +605,7 @@ async def delete_model(request): return web.json_response(result) model_path = urllib.parse.unquote(model_path) - model_type = request.query.get("type") # TODO: in the searchPath? - if model_type is None: - return web.json_response(result) - model_type = urllib.parse.unquote(model_type) - - model_path_type = model_type_to_dir_name(model_type) - file = search_path_to_system_path(model_path, model_path_type) + file, model_type = search_path_to_system_path(model_path) if file is None: return web.json_response(result) diff --git a/web/model-manager.js b/web/model-manager.js index 4d3ad3a..41ad3c9 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -640,7 +640,7 @@ class DirectoryDropdown { for (let i = 0; i < items.length; i++) { const child = items[i]; const grandChildCount = child["childCount"]; - const isDir = grandChildCount !== undefined && grandChildCount !== null && grandChildCount > 0; + const isDir = grandChildCount !== undefined && grandChildCount !== null; const itemName = child["name"]; if (itemName.startsWith(lastWord) && (!showDirectoriesOnly || (showDirectoriesOnly && isDir))) { options.push(itemName + (isDir ? searchSeparator : "")); @@ -1156,7 +1156,7 @@ class ModelGrid { $el("button.icon-button.model-button", { type: "button", textContent: "ⓘ", - onclick: async() => modelInfoCallback(modelType, searchPath), + onclick: async() => modelInfoCallback(searchPath), draggable: false, }), ]), @@ -1366,9 +1366,8 @@ class ModelManager extends ComfyDialog { if (confirmation === affirmation) { const container = this.#el.modelInfoContainer; const path = encodeURIComponent(container.dataset.path); - const type = encodeURIComponent(this.#el.modelTypeSelect.value); await request( - `/model-manager/model/delete?path=${path}&type=${type}`, + `/model-manager/model/delete?path=${path}`, { method: "POST", } @@ -1402,18 +1401,14 @@ class ModelManager extends ComfyDialog { textContent: "Move", onclick: async(e) => { const container = this.#el.modelInfoContainer; - const path = container.dataset.path; - const type = this.#el.modelTypeSelect.value; - const destination = moveDestination.value; let moved = false; await request( `/model-manager/model/move`, { method: "POST", body: JSON.stringify({ - "type": type, - "oldFile": path, - "newDirectory": destination, + "oldFile": container.dataset.path, + "newDirectory": moveDestination.value, }), } ) @@ -1608,13 +1603,11 @@ class ModelManager extends ComfyDialog { } /** - * @param {string} modelType * @param {string} searchPath */ - #modelTab_showModelInfo = async(modelType, searchPath) => { - const type = encodeURIComponent(modelType); + #modelTab_showModelInfo = async(searchPath) => { const path = encodeURIComponent(searchPath); - const info = await request(`/model-manager/model/info?path=${path}&type=${type}`) + const info = await request(`/model-manager/model/info?path=${path}`) .catch(err => { console.log(err); return null; @@ -1936,8 +1929,8 @@ class ModelManager extends ComfyDialog { $el("input.search-text-area", { $: (el) => (els.saveDirectoryPath = el), type: "text", - placeholder: "/0", - value: "/0", + placeholder: this.#searchSeparator + "0", + value: this.#searchSeparator + "0", }); $el("select.model-select-dropdown", { @@ -2075,10 +2068,11 @@ class ModelManager extends ComfyDialog { onclick: async (e) => { const record = {}; record["download"] = info["downloadUrl"]; - record["type"] = els.modelTypeSelect.value; - if (record["type"] === "") { return; } // TODO: notify user in app - record["path"] = els.saveDirectoryPath.value; - if (record["path"] === "/") { return; } // TODO: notify user in app + record["path"] = ( + els.modelTypeSelect.value + + this.#searchSeparator + // NOTE: this may add multiple separators (server should handle carefully) + els.saveDirectoryPath.value + ); record["name"] = (() => { const filename = info["fileName"]; const name = els.filename.value; From b3f00dd60ff6513cf887de2c369857dd711e4474 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Mon, 19 Feb 2024 23:38:34 -0500 Subject: [PATCH 61/79] Option to overwrite downloads. - Added overwrite to GUI. - Factored out wrapper for creation $checkbox. --- web/model-manager.css | 4 +- web/model-manager.js | 120 +++++++++++++++++++++++------------------- 2 files changed, 68 insertions(+), 56 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index d460bbb..8152388 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -420,11 +420,13 @@ } /* model manager settings */ -.model-manager .model-manager-settings > div { +.model-manager .model-manager-settings > div, +.model-manager .model-manager-settings > label { display: flex; flex-direction: row; align-items: center; gap: 8px; + margin: 16px 0; } .model-manager .model-manager-settings button { diff --git a/web/model-manager.js b/web/model-manager.js index 41ad3c9..26d505c 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -869,6 +869,25 @@ function $tab(name, el) { return $el("div", { dataset: { name } }, el); } +/** + * @returns {HTMLLabelElement} + */ +function $checkbox(x = { $: (el) => {}, textContent: "", checked: false }) { + const text = x.textContent; + const input = $el("input", { + type: "checkbox", + checked: x.checked ?? false, + }); + const label = $el("label", [ + input, + text === "" || text === undefined || text === null ? "" : " " + text, + ]); + if (x.$ !== undefined){ + x.$(input); + } + return label; +} + class ModelGrid { /** * @param {Array} list @@ -1279,6 +1298,7 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelInfoView: null, /** @type {HTMLDivElement} */ modelInfoContainer: null, /** @type {HTMLDivElement} */ modelInfoUrl: null, + /** @type {HTMLDivElement} */ modelInfoOverwrite: null, /** @type {HTMLDivElement} */ modelInfos: null, /** @type {HTMLDivElement} */ modelGrid: null, @@ -1666,15 +1686,16 @@ class ModelManager extends ComfyDialog { const el = this.#el.settings; for (const [key, value] of Object.entries(settings)) { const setting = el[key]; - if (setting) { - const type = setting.type; - switch (type) { - case "checkbox": setting.checked = Boolean(value); break; - case "range": setting.value = parseFloat(value); break; - case "textarea": setting.value = value; break; - case "number": setting.value = parseInt(value); break; - default: console.warn("Unknown settings input type!"); - } + if (setting === undefined || setting === null) { + continue; + } + const type = setting.type; + switch (type) { + case "checkbox": setting.checked = Boolean(value); break; + case "range": setting.value = parseFloat(value); break; + case "textarea": setting.value = value; break; + case "number": setting.value = parseInt(value); break; + default: console.warn("Unknown settings input type!"); } } @@ -1783,49 +1804,31 @@ class ModelManager extends ComfyDialog { }), ]), ]), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-persistent-search"] = el), - type: "checkbox", - }), - $el("p", ["Persistent search text across model types"]), - ]), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-show-label-extensions"] = el), - type: "checkbox", - }), - $el("p", ["Show model file extension in labels"]), - ]), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-show-add-button"] = el), - type: "checkbox", - }), - $el("p", ["Show add button"]), - ]), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-show-copy-button"] = el), - type: "checkbox", - }), - $el("p", ["Show copy button"]), - ]), + $checkbox({ + $: (el) => (this.#el.settings["model-persistent-search"] = el), + textContent: "Persistent search text across model types", + }), + $checkbox({ + $: (el) => (this.#el.settings["model-show-label-extensions"] = el), + textContent: "Show model file extension in labels", + }), + $checkbox({ + $: (el) => (this.#el.settings["model-show-add-button"] = el), + textContent: "Show add button", + }), + $checkbox({ + $: (el) => (this.#el.settings["model-show-copy-button"] = el), + textContent: "Show copy button", + }), $el("h2", ["Model Add"]), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-add-embedding-extension"] = el), - type: "checkbox", - }), - $el("p", ["Add extension to embedding"]), - ]), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-add-drag-strict-on-field"] = el), - type: "checkbox", - }), - $el("p", ["Strict dragging model onto a node's model field to add"]), - ]), + $checkbox({ + $: (el) => (this.#el.settings["model-add-embedding-extension"] = el), + textContent: "Add extension to embedding", + }), + $checkbox({ + $: (el) => (this.#el.settings["model-add-drag-strict-on-field"] = el), + textContent: "Strict dragging model onto a node's model field to add", + }), $el("div", [ $el("input", { $: (el) => (this.#el.settings["model-add-offset"] = el), @@ -2101,7 +2104,7 @@ class ModelManager extends ComfyDialog { } return ""; })(); - record["overwrite"] = false; // TODO: add to UI + record["overwrite"] = this.#el.modelInfoOverwrite.checked; e.target.disabled = true; let success = true; let resultText = "✔"; @@ -2192,7 +2195,7 @@ class ModelManager extends ComfyDialog { async #downloadTab_search() { const infosHtml = this.#el.modelInfos; infosHtml.innerHTML = ""; - + const urlText = this.#el.modelInfoUrl.value; const modelInfos = await (async () => { if (urlText.startsWith("https://civitai.com")) { @@ -2283,8 +2286,15 @@ class ModelManager extends ComfyDialog { if (modelInfos.length === 0) { modelInfosHtml.push($el("div", ["No results found."])); } - else if (modelInfos.length === 1) { - modelInfosHtml[0].open = true; + else { + if (modelInfos.length === 1) { + modelInfosHtml[0].open = true; + } + const label = $checkbox({ + $: (el) => { this.#el.modelInfoOverwrite = el; }, + textContent: "Overwrite Existing Files", + }); + modelInfosHtml.unshift(label); } infosHtml.append.apply(infosHtml, modelInfosHtml); } From a72fe681b51fafa1af4d7821e09b09615f2f1da9 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 20 Feb 2024 00:56:58 -0500 Subject: [PATCH 62/79] Edit and save notes with model file in model info view. - If notes are all whitespace, the .txt file is deleted. --- README.md | 1 + __init__.py | 33 ++++++++++++++++-- web/model-manager.css | 3 +- web/model-manager.js | 78 ++++++++++++++++++++++++++++++------------- 4 files changed, 87 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index ca5a3e3..c2dac13 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ I made this fork because the original repo was inactive and missing many things - View model metadata, including training tags and bucket resolutions. - Delete or move a model. +- Read, edit and save notes in a `.txt` file beside the model. ### ComfyUI Node Graph diff --git a/__init__.py b/__init__.py index 16a49b1..51150b5 100644 --- a/__init__.py +++ b/__init__.py @@ -457,11 +457,11 @@ async def get_model_info(request): file_name, _ = os.path.splitext(file) txt_file = file_name + ".txt" - description = "" + notes = "" if os.path.isfile(txt_file): with open(txt_file, 'r', encoding="utf-8") as f: - description = f.read() - info["Description"] = description + notes = f.read() + info["Notes"] = notes if metadata is not None: img_buckets = metadata.get("ss_bucket_info", "{}") @@ -635,6 +635,33 @@ async def delete_model(request): return web.json_response(result) +@server.PromptServer.instance.routes.post("/model-manager/notes/save") +async def set_notes(request): + body = await request.json() + + text = body.get("notes", None) + if type(text) is not str: + return web.json_response({ "success": False }) + + model_path = body.get("path", None) + if type(model_path) is not str: + return web.json_response({ "success": False }) + model_path, _ = search_path_to_system_path(model_path) + file_path_without_extension, _ = os.path.splitext(model_path) + filename = os.path.normpath(file_path_without_extension + ".txt") + if text.isspace() or text == "": + if os.path.exists(filename): + os.remove(filename) + else: + try: + with open(filename, "w") as f: + f.write(text) + except: + web.json_response({ "success": False }) + + return web.json_response({ "success": True }) + + WEB_DIRECTORY = "web" NODE_CLASS_MAPPINGS = {} __all__ = ["NODE_CLASS_MAPPINGS"] diff --git a/web/model-manager.css b/web/model-manager.css index 8152388..967d718 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -442,11 +442,12 @@ width: 100%; } -.model-manager .model-manager-settings textarea { +.model-manager textarea { width: 100%; font-size: 1.2em; border: solid 2px var(--border-color); border-radius: 8px; + resize: vertical; } .model-preview-select-radio-container img { diff --git a/web/model-manager.js b/web/model-manager.js index 26d505c..3ec1fbe 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1386,22 +1386,25 @@ class ModelManager extends ComfyDialog { if (confirmation === affirmation) { const container = this.#el.modelInfoContainer; const path = encodeURIComponent(container.dataset.path); - await request( + deleted = await request( `/model-manager/model/delete?path=${path}`, { method: "POST", } ) .then((result) => { - if (result["success"]) + const deleted = result["success"]; + if (deleted) { container.innerHTML = ""; this.#el.modelInfoView.style.display = "none"; this.#modelTab_updateModels(); - deleted = true; } + return deleted; }) - .catch(err => {}); + .catch(err => { + return false; + }); } if (!deleted) { buttonAlert(e.target, false); @@ -1421,8 +1424,7 @@ class ModelManager extends ComfyDialog { textContent: "Move", onclick: async(e) => { const container = this.#el.modelInfoContainer; - let moved = false; - await request( + const moved = await request( `/model-manager/model/move`, { method: "POST", @@ -1433,15 +1435,18 @@ class ModelManager extends ComfyDialog { } ) .then((result) => { - if (result["success"]) + const moved = result["success"]; + if (moved) { container.innerHTML = ""; this.#el.modelInfoView.style.display = "none"; this.#modelTab_updateModels(); - moved = true; } + return moved; }) - .catch(err => {}); + .catch(err => { + return false; + }); if (!moved) { buttonAlert(e.target, false); } @@ -1644,7 +1649,7 @@ class ModelManager extends ComfyDialog { innerHtml.push($el("h1", [filename])); } for (const [key, value] of Object.entries(info)) { - if (value === undefined || value === null || value === "") { + if (value === undefined || value === null) { continue; } @@ -1669,7 +1674,38 @@ class ModelManager extends ComfyDialog { } } else { - innerHtml.push($el("p", [key + ": " + value])); + if (key === "Notes") { + innerHtml.push($el("h2", [key + ":"])); + const noteArea = $el("textarea.comfy-multiline-input", { + value: value, + rows: 5, + }); + innerHtml.push(noteArea); + innerHtml.push($el("button", { + textContent: "Save Notes", + onclick: (e) => { + const saved = request( + "/model-manager/notes/save", + { + method: "POST", + body: JSON.stringify({ + "path": this.#el.modelInfoContainer.dataset.path, + "notes": noteArea.value, + }), + } + ).then((result) => { + return result["success"]; + }) + .catch((err) => { + return false; + }); + buttonAlert(e.target, saved); + }, + })); + } + else { + innerHtml.push($el("p", [key + ": " + value])); + } } } infoHtml.append.apply(infoHtml, innerHtml); @@ -2106,27 +2142,21 @@ class ModelManager extends ComfyDialog { })(); record["overwrite"] = this.#el.modelInfoOverwrite.checked; e.target.disabled = true; - let success = true; - let resultText = "✔"; - await request( + const [success, resultText] = await request( "/model-manager/model/download", { method: "POST", body: JSON.stringify(record), } ).then(data => { - if (data["success"] !== true) { - // TODO: notify user in app - console.error('Failed to download model:', data); - success = false; - resultText = "📥︎"; - } + const success = data["success"]; + return [success, success ? "✔" : "📥︎"]; }).catch(err => { - // TODO: notify user in app - console.error('Failed to download model:', err); - success = false; - resultText = "📥︎"; + return [false, "📥︎"]; }); + if (success) { + this.#modelTab_updateModels(); + } buttonAlert(e.target, success, "✔", "✖", resultText); e.target.disabled = success; }, From c4b6ddd5ca7706ef31773ae13ef41562d309aedc Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 21 Feb 2024 14:37:53 -0500 Subject: [PATCH 63/79] BUG FIX: Save notes with "utf-8" format. - Bug could cause notes to be erased on save. --- __init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index 51150b5..4b24851 100644 --- a/__init__.py +++ b/__init__.py @@ -654,7 +654,7 @@ async def set_notes(request): os.remove(filename) else: try: - with open(filename, "w") as f: + with open(filename, "w", encoding="utf-8") as f: f.write(text) except: web.json_response({ "success": False }) From d951a508edbb7e1cd1858515ee10247d783d7ea2 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 22 Feb 2024 05:11:38 -0500 Subject: [PATCH 64/79] Model Previews can now be set in Model View. - Abstracted out Radio Buttons for Preview selection (mostly clean). - Added REST API for preview/set and preview/delete. - Added dateModified to query string so the browser can detect out of date preview images. - Added image path and dateModified to Model Info payload. --- README.md | 1 + __init__.py | 213 ++++++++---- web/model-manager.css | 13 +- web/model-manager.js | 775 +++++++++++++++++++++++++++--------------- 4 files changed, 665 insertions(+), 337 deletions(-) diff --git a/README.md b/README.md index c2dac13..442d69d 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ I made this fork because the original repo was inactive and missing many things - View model metadata, including training tags and bucket resolutions. - Delete or move a model. - Read, edit and save notes in a `.txt` file beside the model. +- Change or remove preview image. ### ComfyUI Node Graph diff --git a/__init__.py b/__init__.py index 4b24851..5c2ef9a 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,5 @@ import os +import io import pathlib import shutil from datetime import datetime @@ -30,7 +31,7 @@ ui_settings_uri = os.path.join(extension_uri, "ui_settings.yaml") server_settings_uri = os.path.join(extension_uri, "server_settings.yaml") fallback_model_extensions = set([".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safetensors"]) # TODO: magic values -image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") +image_extensions = (".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp") # TODO: JavaScript does not know about this (x2 states) #video_extensions = (".avi", ".mp4", ".webm") # TODO: Requires ffmpeg or cv2. Cache preview frame? _folder_names_and_paths = None # dict[str, tuple[list[str], list[str]]] @@ -195,21 +196,11 @@ async def get_model_preview(request): image_path = no_preview_image image_extension = "png" - if uri != "no-post": - rel_image_path = os.path.dirname(uri) - - i = uri.find(os.path.sep) - model_type = uri[0:i] - - j = uri.find(os.path.sep, i + len(os.path.sep)) - if j == -1: - j = len(rel_image_path) - base_index = int(uri[i + len(os.path.sep):j]) - base_path = folder_paths_get_folder_paths(model_type)[base_index] - - abs_image_path = os.path.normpath(base_path + os.path.sep + uri[j:]) # do NOT use os.path.join - if os.path.exists(abs_image_path): - image_path = abs_image_path + if uri != "no-preview": + sep = os.path.sep + uri = uri.replace("/" if sep == "\\" else "/", os.path.sep) + image_path, _ = search_path_to_system_path(uri) + if os.path.exists(image_path): _, image_extension = os.path.splitext(uri) image_extension = image_extension[1:] @@ -219,6 +210,64 @@ async def get_model_preview(request): return web.Response(body=image_data, content_type="image/" + image_extension) +def download_model_preview(formdata): + path = formdata.get("path", None) + if type(path) is not str: + raise ("Invalid path!") + path, _ = search_path_to_system_path(path) + path_without_extension, _ = os.path.splitext(path) + + overwrite = formdata.get("overwrite", "true").lower() + overwrite = True if overwrite == "true" else False + + image = formdata.get("image", None) + if type(image) is str: + image_path = download_image(image, path, overwrite) + _, image_extension = os.path.splitext(image_path) + else: + content_type = image.content_type + if not content_type.startswith("image/"): + raise ("Invalid content type!") + image_extension = "." + content_type[len("image/"):] + if image_extension not in image_extensions: + raise ("Invalid extension!") + + image_path = path_without_extension + image_extension + if not overwrite and os.path.isfile(image_path): + raise ("Image already exists!") + file: io.IOBase = image.file + image_data = file.read() + with open(image_path, "wb") as f: + f.write(image_data) + + delete_same_name_files(path_without_extension, image_extensions, image_extension) + + +@server.PromptServer.instance.routes.post("/model-manager/preview/set") +async def set_model_preview(request): + formdata = await request.post() + try: + download_model_preview(formdata) + return web.json_response({ "success": True }) + except ValueError as e: + print(e, file=sys.stderr, flush=True) + return web.json_response({ "success": False }) + + +@server.PromptServer.instance.routes.post("/model-manager/preview/delete") +async def delete_model_preview(request): + model_path = request.query.get("path", None) + if model_path is None: + return web.json_response({ "success": False }) + model_path = urllib.parse.unquote(model_path) + + file, _ = search_path_to_system_path(model_path) + path_and_name, _ = os.path.splitext(file) + delete_same_name_files(path_and_name, image_extensions) + + return web.json_response({ "success": True }) + + @server.PromptServer.instance.routes.get("/model-manager/models/list") async def load_download_models(request): model_types = os.listdir(comfyui_model_uri) @@ -245,34 +294,40 @@ async def load_download_models(request): for model in dir_models: model_name, _ = os.path.splitext(model) image = None + image_modified = None for iImage in range(len(dir_images)-1, -1, -1): image_name, _ = os.path.splitext(dir_images[iImage]) if model_name == image_name: image = end_swap_and_pop(dir_images, iImage) + img_abs_path = os.path.join(cwd, image) + image_modified = pathlib.Path(img_abs_path).stat().st_mtime_ns break abs_path = os.path.join(cwd, model) stats = pathlib.Path(abs_path).stat() - date_modified = stats.st_mtime_ns - date_created = stats.st_ctime_ns + model_modified = stats.st_mtime_ns + model_created = stats.st_ctime_ns rel_path = "" if cwd == model_base_path else os.path.relpath(cwd, model_base_path) - info = (model, image, base_path_index, rel_path, date_modified, date_created) + info = (model, image, base_path_index, rel_path, model_modified, model_created, image_modified) file_infos.append(info) file_infos.sort(key=lambda tup: tup[4], reverse=True) # TODO: remove sort; sorted on client model_items = [] - for model, image, base_path_index, rel_path, date_modified, date_created in file_infos: + for model, image, base_path_index, rel_path, model_modified, model_created, image_modified in file_infos: item = { "name": model, "path": "/" + os.path.join(model_type, str(base_path_index), rel_path, model).replace(os.path.sep, "/"), # relative logical path #"systemPath": os.path.join(rel_path, model), # relative system path (less information than "search path") - "dateModified": date_modified, - "dateCreated": date_created, + "dateModified": model_modified, + "dateCreated": model_created, #"dateLastUsed": "", # TODO: track server-side, send increment client-side #"countUsed": 0, # TODO: track server-side, send increment client-side } if image is not None: raw_post = os.path.join(model_type, str(base_path_index), rel_path, image) - item["post"] = urllib.parse.quote_plus(raw_post) + item["preview"] = { + "path": urllib.parse.quote_plus(raw_post), + "dateModified": urllib.parse.quote_plus(str(image_modified)), + } model_items.append(item) models[model_type] = model_items @@ -342,13 +397,14 @@ async def directory_list(request): def download_file(url, filename, overwrite): if not overwrite and os.path.isfile(filename): - raise Exception("File already exists!") + raise ValueError("File already exists!") filename_temp = filename + ".download" def_headers = { "User-Agent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", } + if url.startswith("https://civitai.com/"): api_key = server_settings["civitai_api_key"] if (api_key != ""): @@ -358,10 +414,9 @@ def download_file(url, filename, overwrite): api_key = server_settings["huggingface_api_key"] if api_key != "": def_headers["Authorization"] = f"Bearer {api_key}" - rh = requests.get(url=url, stream=True, verify=False, headers=def_headers, proxies=None, allow_redirects=False) if not rh.ok: - raise Exception("Unable to download") + raise ValueError("Unable to download") downloaded_size = 0 if rh.status_code == 200 and os.path.exists(filename_temp): @@ -369,7 +424,7 @@ def download_file(url, filename, overwrite): headers = {"Range": "bytes=%d-" % downloaded_size} headers["User-Agent"] = def_headers["User-Agent"] - + r = requests.get(url=url, stream=True, verify=False, headers=headers, proxies=None, allow_redirects=False) if rh.status_code == 307 and r.status_code == 307: # Civitai redirect @@ -377,7 +432,7 @@ def download_file(url, filename, overwrite): if not redirect_url.startswith("http"): # Civitai requires login (NSFW or user-required) # TODO: inform user WHY download failed - raise Exception("Unable to download!") + raise ValueError("Unable to download!") download_file(redirect_url, filename, overwrite) return if rh.status_code == 302 and r.status_code == 302: @@ -385,7 +440,7 @@ def download_file(url, filename, overwrite): redirect_url = r.content.decode("utf-8") redirect_url_index = redirect_url.find("http") if redirect_url_index == -1: - raise Exception("Unable to download!") + raise ValueError("Unable to download!") download_file(redirect_url[redirect_url_index:], filename, overwrite) return elif rh.status_code == 200 and r.status_code == 206: @@ -419,18 +474,33 @@ def download_file(url, filename, overwrite): ) ) sys.stdout.flush() - print() + if overwrite and os.path.isfile(filename): os.remove(filename) os.rename(filename_temp, filename) +def download_image(image_uri, model_path, overwrite): + extension = None # TODO: doesn't work for https://civitai.com/images/... + for image_extension in image_extensions: + if image_uri.endswith(image_extension): + extension = image_extension + break + if extension is None: + raise ValueError("Invalid image type!") + + path_without_extension, _ = os.path.splitext(model_path) + file = path_without_extension + extension + download_file(image_uri, file, overwrite) + return file + + @server.PromptServer.instance.routes.get("/model-manager/model/info") async def get_model_info(request): model_path = request.query.get("path", None) if model_path is None: - return web.json_response({}) + return web.json_response({ "success": False }) model_path = urllib.parse.unquote(model_path) file, _ = search_path_to_system_path(model_path) @@ -441,12 +511,25 @@ async def get_model_info(request): path, name = os.path.split(model_path) info["File Name"] = name info["File Directory"] = path - info["File Size"] = os.path.getsize(file) + info["File Size"] = str(os.path.getsize(file)) + " bytes" stats = pathlib.Path(file).stat() date_format = "%Y/%m/%d %H:%M:%S" info["Date Created"] = datetime.fromtimestamp(stats.st_ctime).strftime(date_format) info["Date Modified"] = datetime.fromtimestamp(stats.st_mtime).strftime(date_format) + file_name, _ = os.path.splitext(file) + + for extension in image_extensions: + maybe_image = file_name + extension + if os.path.isfile(maybe_image): + image_path, _ = os.path.splitext(model_path) + image_modified = pathlib.Path(maybe_image).stat().st_mtime_ns + info["Preview"] = { + "path": urllib.parse.quote_plus(image_path + extension), + "dateModified": urllib.parse.quote_plus(str(image_modified)), + } + break + header = get_safetensor_header(file) metadata = header.get("__metadata__", None) if metadata is not None: @@ -455,7 +538,6 @@ async def get_model_info(request): info["Hash"] = metadata.get("sshs_model_hash", "") info["Output Name"] = metadata.get("ss_output_name", "") - file_name, _ = os.path.splitext(file) txt_file = file_name + ".txt" notes = "" if os.path.isfile(txt_file): @@ -500,26 +582,27 @@ async def get_system_separator(request): @server.PromptServer.instance.routes.post("/model-manager/model/download") async def download_model(request): - body = await request.json() + formdata = await request.post() result = { "success": False, "invalid": None, } - overwrite = body.get("overwrite", False) + overwrite = formdata.get("overwrite", "false").lower() + overwrite = True if overwrite == "true" else False - model_path = body.get("path", "/0") + model_path = formdata.get("path", "/0") directory, model_type = search_path_to_system_path(model_path) if directory is None: result["invalid"] = "path" return web.json_response(result) - download_uri = body.get("download") + download_uri = formdata.get("download") if download_uri is None: result["invalid"] = "download" return web.json_response(result) - name = body.get("name") + name = formdata.get("name") model_extension = None for ext in folder_paths_get_supported_pt_extensions(model_type): if name.endswith(ext): @@ -531,27 +614,22 @@ async def download_model(request): file_name = os.path.join(directory, name) try: download_file(download_uri, file_name, overwrite) - except: - result["invalid"] = "download" + except Exception as e: + print(e, file=sys.stderr, flush=True) + result["invalid"] = "model" return web.json_response(result) - image_uri = body.get("image") - if image_uri is not None and image_uri != "": - image_extension = None # TODO: doesn't work for https://civitai.com/images/... - for ext in image_extensions: - if image_uri.endswith(ext): - image_extension = ext - break - if image_extension is not None: - file_path_without_extension = name[:len(name) - len(model_extension)] - image_name = os.path.join( - directory, - file_path_without_extension + image_extension - ) - try: - download_file(image_uri, image_name, overwrite) - except Exception as e: - print(e, file=sys.stderr, flush=True) + image = formdata.get("image") + if image is not None and image != "": + try: + download_model_preview({ + "path": model_path + os.sep + name, + "image": image, + "overwrite": formdata.get("overwrite"), + }) + except Exception as e: + print(e, file=sys.stderr, flush=True) + result["invalid"] = "preview" result["success"] = True return web.json_response(result) @@ -579,7 +657,8 @@ async def move_model(request): new_file = os.path.join(new_path, filename) try: shutil.move(old_file, new_file) - except: + except ValueError as e: + print(e, file=sys.stderr, flush=True) return web.json_response({ "success": False }) old_file_without_extension, _ = os.path.splitext(old_file) @@ -590,12 +669,20 @@ async def move_model(request): if os.path.isfile(old_file): try: shutil.move(old_file, new_file_without_extension + extension) - except Exception as e: + except ValueError as e: print(e, file=sys.stderr, flush=True) return web.json_response({ "success": True }) +def delete_same_name_files(path_without_extension, extensions, keep_extension=None): + for extension in extensions: + if extension == keep_extension: continue + image_file = path_without_extension + extension + if os.path.isfile(image_file): + os.remove(image_file) + + @server.PromptServer.instance.routes.post("/model-manager/model/delete") async def delete_model(request): result = { "success": False } @@ -623,10 +710,7 @@ async def delete_model(request): path_and_name, _ = os.path.splitext(file) - for img_ext in image_extensions: - image_file = path_and_name + img_ext - if os.path.isfile(image_file): - os.remove(image_file) + delete_same_name_files(path_and_name, image_extensions) txt_file = path_and_name + ".txt" if os.path.isfile(txt_file): @@ -656,7 +740,8 @@ async def set_notes(request): try: with open(filename, "w", encoding="utf-8") as f: f.write(text) - except: + except ValueError as e: + print(e, file=sys.stderr, flush=True) web.json_response({ "success": False }) return web.json_response({ "success": True }) diff --git a/web/model-manager.css b/web/model-manager.css index 967d718..d82075c 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -159,6 +159,7 @@ display: flex; gap: 8px; flex-wrap: wrap; + min-width: 0; } .comfy-radio { @@ -358,6 +359,7 @@ .model-manager .tab-header-flex-block { width: 100%; + min-width: 0; } .model-manager .search-models { @@ -377,6 +379,7 @@ flex: 1; min-height: 36px; padding-block: 0; + min-width: 36px; } .model-manager .model-select-dropdown { @@ -450,6 +453,15 @@ resize: vertical; } +.model-preview-select-radio-container { + min-width: 0; + flex: 1; +} + +.model-manager input[type="file"] { + flex: 1; +} + .model-preview-select-radio-container img { position: relative; width: 230px; @@ -485,7 +497,6 @@ background-color: var(--bg-color); border-radius: 16px; color: var(--fg-color); - margin-top: 8px; padding: 16px; width: auto; } diff --git a/web/model-manager.js b/web/model-manager.js index 3ec1fbe..46a1f72 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -19,10 +19,10 @@ function debounce(callback, delay) { /** * @param {string} url - * @param {any} options + * @param {any} [options=undefined] * @returns {Promise} */ -function request(url, options) { +function request(url, options = undefined) { return new Promise((resolve, reject) => { api.fetchApi(url, options) .then((response) => response.json()) @@ -58,6 +58,22 @@ const MODEL_SORT_DATE_NAME = "name"; const MODEL_EXTENSIONS = [".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safetensors"]; // TODO: ask server for? const IMAGE_EXTENSIONS = [".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp"]; // TODO: ask server for? +/** + * @param {string | undefined} [searchPath=undefined] + * @param {string | undefined} [dateImageModified=undefined] + * + * @returns {string} + */ +function imageUri(imageSearchPath = undefined, dateImageModified = undefined) { + const path = imageSearchPath ?? "no-preview"; + const date = dateImageModified; + let uri = `/model-manager/preview/get?uri=${path}`; + if (date !== undefined && date !== null) { + uri += `&v=${date}`; + } + return uri; +} + /** * Tries to return the related ComfyUI model directory if unambigious. * @@ -1112,8 +1128,7 @@ class ModelGrid { const removeEmbeddingExtension = !settingsElements["model-add-embedding-extension"].checked; if (models.length > 0) { return models.map((item) => { - const uri = item.post ?? "no-post"; - const imgUrl = `/model-manager/preview/get?uri=${uri}`; + const previewInfo = item.preview; const searchPath = item.path; const path = searchPathToSystemPath(searchPath, searchSeparator, systemSeparator); let buttons = []; @@ -1157,7 +1172,7 @@ class ModelGrid { ); return $el("div.item", {}, [ $el("img.model-preview", { - src: imgUrl, + src: imageUri(previewInfo?.path, previewInfo?.dateModified), draggable: false, }), $el("div.model-preview-overlay", { @@ -1293,6 +1308,284 @@ function $radioGroup(attr) { return $el("div.comfy-radio-group", radioGroup); } +/** + * @param {HTMLDivElement} previewImageContainer + * @param {Event} e + * @param {1 | -1} step + */ +function updateRadioPreview(previewImageContainer, step) { + const children = previewImageContainer.children; + if (children.length === 0) { + return; + } + let currentIndex = -step; + for (let i = 0; i < children.length; i++) { + const previewImage = children[i]; + const display = previewImage.style.display; + if (display !== "none") { + currentIndex = i; + } + previewImage.style.display = "none"; + } + currentIndex = currentIndex + step; + if (currentIndex >= children.length) { currentIndex = 0; } + else if (currentIndex < 0) { currentIndex = children.length - 1; } + children[currentIndex].style.display = "block"; +} + +/** + * @param {String} uniqueName + * @param {String[]} defaultPreviews + * @returns {[]} + */ +function radioGroupImageSelect(uniqueName, defaultPreviews, defaultChanges=false) { + const defaultImageCount = defaultPreviews.length; + + const el_defaultUri = $el("div", { + style: { display: "none" }, + "data-noimage": imageUri(), + }); + + const el_noImage = $el("img", { + src: imageUri(), + style: { + display: defaultImageCount === 0 ? "block" : "none", + }, + loading: "lazy", + }); + + const el_defaultImages = $el("div", { + style: { + width: "100%", + height: "100%", + }, + }, (() => { + const imgs = defaultPreviews.map((url) => { + return $el("img", { + src: url, + style: { display: "none" }, + loading: "lazy", + onerror: (e) => { + e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); + }, + }); + }); + if (imgs.length > 0) { + imgs[0].style.display = "block"; + } + return imgs; + })()); + + const el_uploadImage = $el("img", { + src: imageUri(), + style: { display : "none" }, + onerror: (e) => { + e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); + }, + }); + const el_uploadFile = $el("input", { + type: "file", + accept: IMAGE_EXTENSIONS.join(", "), + onchange: (e) => { + const file = e.target.files[0]; + if (file) { + el_uploadImage.src = URL.createObjectURL(file); + } + else { + el_uploadImage.src = el_defaultUri.dataset.noimage; + } + }, + }); + const el_upload = $el("div", { + style: { display: "none" }, + }, [ + el_uploadFile, + ]); + + const el_urlImage = $el("img", { + src: imageUri(), + style: { display: "none" }, + onerror: (e) => { + e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); + }, + }); + const el_customUrl = $el("input.search-text-area", { + type: "text", + placeholder: "https://custom-image-preview.png", + }); + const el_custom = $el("div.row.tab-header-flex-block", { + style: { display: "none" }, + }, [ + el_customUrl, + $el("button.icon-button", { + textContent: "🔍︎", + onclick: (e) => { + el_urlImage.src = el_customUrl.value; + }, + }), + ]); + + const el_previewButtons = $el("div.model-preview-overlay", { + style: { + display: el_defaultImages.children.length > 1 ? "block" : "none", + }, + }, [ + $el("button.icon-button.model-preview-button-left", { + textContent: "←", + onclick: () => updateRadioPreview(el_defaultImages, -1), + }), + $el("button.icon-button.model-preview-button-right", { + textContent: "→", + onclick: () => updateRadioPreview(el_defaultImages, 1), + }), + ]); + const previews = [ + el_noImage, + el_defaultImages, + el_urlImage, + el_uploadImage, + ]; + const el_preview = $el("div.item", [ + $el("div", { + style: { + "width": "100%", + "height": "100%", + }, + }, + previews, + ), + el_previewButtons, + ]); + + const PREVIEW_NONE = "No Preview"; + const PREVIEW_DEFAULT = "Default"; + const PREVIEW_URL = "URL"; + const PREVIEW_UPLOAD = "Upload"; + + const el_radioButtons = $radioGroup({ + name: uniqueName, + onchange: (value) => { + el_custom.style.display = "none"; + el_upload.style.display = "none"; + + el_defaultImages.style.display = "none"; + el_previewButtons.style.display = "none"; + + el_noImage.style.display = "none"; + el_uploadImage.style.display = "none"; + el_urlImage.style.display = "none"; + + switch (value) { + case PREVIEW_NONE: + default: + el_noImage.style.display = "block"; + break; + case PREVIEW_DEFAULT: + el_defaultImages.style.display = "block"; + el_previewButtons.style.display = el_defaultImages.children.length > 1 ? "block" : "none"; + break; + case PREVIEW_URL: + el_custom.style.display = "flex"; + el_urlImage.style.display = "block"; + break; + case PREVIEW_UPLOAD: + el_upload.style.display = "flex"; + el_uploadImage.style.display = "block"; + break; + } + }, + options: (() => { + const radios = []; + radios.push({ value: PREVIEW_NONE }); + if (defaultImageCount > 0) { + radios.push({ value: PREVIEW_DEFAULT }); + } + radios.push({ value: PREVIEW_URL }); + radios.push({ value: PREVIEW_UPLOAD }) + return radios; + })(), + }); + + if (defaultImageCount > 0) { + const children = el_radioButtons.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === PREVIEW_DEFAULT) { + radioButton.checked = true; + break; + } + }; + } + + const resetModelInfoPreview = () => { + let noimage = el_defaultUri.dataset.noimage; + previews.forEach((el) => { + el.style.display = "none"; + if (el_noImage !== el) { + if (el.nodeName === "IMG") { + el.src = noimage; + } + else { + el.children[0].src = noimage; + } + } + else { + el.src = imageUri(); + } + }); + const children = el_radioButtons.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === PREVIEW_DEFAULT) { + el_defaultImages.style.display = "block"; + radioButton.checked = true; + break; + } + }; + el_uploadFile.value = ""; + el_customUrl.value = ""; + el_upload.style.display = "none"; + el_custom.style.display = "none"; + }; + + const getImage = () => { + const value = document.querySelector(`input[name="${uniqueName}"]:checked`).value; + switch (value) { + case PREVIEW_DEFAULT: + if (defaultImageCount === 0) { + return ""; + } + const children = el_defaultImages.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.style.display !== "none") { + return child.src; + } + } + return ""; + case PREVIEW_URL: + return el_customUrl.value; + case PREVIEW_UPLOAD: + return el_uploadFile.files[0] ?? ""; + case PREVIEW_NONE: + return imageUri(); + } + return ""; + }; + + const el_radioGroup = $el("div.model-preview-select-radio-container", [ + $el("div.row.tab-header-flex-block", [el_radioButtons]), + $el("div", [ + el_custom, + el_upload, + ]), + ]); + + return [el_radioGroup, el_preview, getImage, el_defaultUri, resetModelInfoPreview]; +} + class ModelManager extends ComfyDialog { #el = { /** @type {HTMLDivElement} */ modelInfoView: null, @@ -1300,6 +1593,8 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelInfoUrl: null, /** @type {HTMLDivElement} */ modelInfoOverwrite: null, /** @type {HTMLDivElement} */ modelInfos: null, + modelInfoPreview: null, + modelInfoDefaultUri: null, /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, @@ -1339,6 +1634,8 @@ class ModelManager extends ComfyDialog { /** @type {string} */ #systemSeparator = null; + #resetModelInfoPreview = () => {}; + constructor() { super(); @@ -1359,7 +1656,17 @@ class ModelManager extends ComfyDialog { this.#searchSeparator, true, ); - + + const [el_radioGroup, el_preview, getImage, el_defaultUri, resetModelInfoPreview] = radioGroupImageSelect( + "model-info-preview-model-FYUIKMNVB", + [imageUri()], + ); + el_preview.style.display = "flex"; + this.#el.modelInfoRadioGroup = el_radioGroup; + this.#el.modelInfoPreview = el_preview; + this.#el.modelInfoDefaultUri = el_defaultUri; + this.#resetModelInfoPreview = resetModelInfoPreview; + this.element = $el( "div.comfy-modal.model-manager", { @@ -1402,7 +1709,7 @@ class ModelManager extends ComfyDialog { } return deleted; }) - .catch(err => { + .catch((err) => { return false; }); } @@ -1633,7 +1940,7 @@ class ModelManager extends ComfyDialog { #modelTab_showModelInfo = async(searchPath) => { const path = encodeURIComponent(searchPath); const info = await request(`/model-manager/model/info?path=${path}`) - .catch(err => { + .catch((err) => { console.log(err); return null; }); @@ -1648,66 +1955,152 @@ class ModelManager extends ComfyDialog { if (filename !== undefined && filename !== null && filename !== "") { innerHtml.push($el("h1", [filename])); } - for (const [key, value] of Object.entries(info)) { - if (value === undefined || value === null) { - continue; - } - - if (Array.isArray(value)) { - if (value.length > 0) { - innerHtml.push($el("h2", [key + ":"])); - - let text = "

        "; - for (let i = 0; i < value.length; i++) { - const v = value[i]; - const tag = v[0]; - const count = v[1]; - text += tag + " (" + count + ")"; - if (i !== value.length - 1) { - text += ", "; + + if (info["Preview"]) { + const imagePath = info["Preview"]["path"]; + const imageDateModified = info["Preview"]["dateModified"]; + this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(imagePath, imageDateModified); + this.#resetModelInfoPreview(); + } + + innerHtml.push($el("div", [ + this.#el.modelInfoPreview, + $el("div.row.tab-header", [ + $el("div.row.tab-header-flex-block", [ + $el("button", { + textContent: "Set as Preview", + onclick: async(e) => { + const confirmation = window.confirm("Change preview image PERMANENTLY?"); + let updatedPreview = false; + if (confirmation) { + e.target.disabled = true; + const container = this.#el.modelInfoContainer; + const path = container.dataset.path; + const imageUrl = getImage(); + if (imageUrl === imageUri()) { + const encodedPath = encodeURIComponent(path); + updatedPreview = await request( + `/model-manager/preview/delete?path=${encodedPath}`, + { + method: "POST", + body: JSON.stringify({}), + } + ) + .then((result) => { + return result["success"]; + }) + .catch((err) => { + return false; + }); + } + else { + const formData = new FormData(); + formData.append("path", path); + const image = imageUrl[0] == "/" ? "" : imageUrl; + formData.append("image", image); + updatedPreview = await request( + `/model-manager/preview/set`, + { + method: "POST", + body: formData, + } + ) + .then((result) => { + return result["success"]; + }) + .catch((err) => { + return false; + }); + } + if (updatedPreview) { + this.#modelTab_updateModels(); + this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(); + this.#resetModelInfoPreview(); + this.#el.modelInfoView.style.display = "none"; + } + + e.target.disabled = false; + } + buttonAlert(e.target, updatedPreview); + }, + }), + ]), + $el("div.row.tab-header-flex-block", [ + this.#el.modelInfoRadioGroup, + ]), + ]), + $el("div", + (() => { + const elements = []; + for (const [key, value] of Object.entries(info)) { + if (value === undefined || value === null) { + continue; + } + + if (Array.isArray(value)) { + if (value.length > 0) { + elements.push($el("h2", [key + ":"])); + + let text = "

        "; + for (let i = 0; i < value.length; i++) { + const v = value[i]; + const tag = v[0]; + const count = v[1]; + text += tag + " (" + count + ")"; + if (i !== value.length - 1) { + text += ", "; + } + } + text += "

        "; + const div = $el("div"); + div.innerHTML = text; + elements.push(div); + } + } + else { + if (key === "Notes") { + elements.push($el("h2", [key + ":"])); + const noteArea = $el("textarea.comfy-multiline-input", { + value: value, + rows: 5, + }); + elements.push(noteArea); + elements.push($el("button", { + textContent: "Save Notes", + onclick: (e) => { + const saved = request( + "/model-manager/notes/save", + { + method: "POST", + body: JSON.stringify({ + "path": this.#el.modelInfoContainer.dataset.path, + "notes": noteArea.value, + }), + } + ).then((result) => { + return result["success"]; + }) + .catch((err) => { + return false; + }); + buttonAlert(e.target, saved); + }, + })); + } + else if (key === "Preview") { + // + } + else { + if (value !== "") { + elements.push($el("p", [key + ": " + value])); + } + } } } - text += "

        "; - const div = $el("div"); - div.innerHTML = text; - innerHtml.push(div); - } - } - else { - if (key === "Notes") { - innerHtml.push($el("h2", [key + ":"])); - const noteArea = $el("textarea.comfy-multiline-input", { - value: value, - rows: 5, - }); - innerHtml.push(noteArea); - innerHtml.push($el("button", { - textContent: "Save Notes", - onclick: (e) => { - const saved = request( - "/model-manager/notes/save", - { - method: "POST", - body: JSON.stringify({ - "path": this.#el.modelInfoContainer.dataset.path, - "notes": noteArea.value, - }), - } - ).then((result) => { - return result["success"]; - }) - .catch((err) => { - return false; - }); - buttonAlert(e.target, saved); - }, - })); - } - else { - innerHtml.push($el("p", [key + ": " + value])); - } - } - } + return elements; + })(), + ), + ])); infoHtml.append.apply(infoHtml, innerHtml); this.#el.modelInfoView.removeAttribute("style"); // remove "display: none" @@ -1912,31 +2305,6 @@ class ModelManager extends ComfyDialog { } } - /** - * @param {HTMLDivElement} previewImageContainer - * @param {Event} e - * @param {1 | -1} step - */ - static #downloadTab_updatePreview(previewImageContainer, step) { - const children = previewImageContainer.children; - if (children.length === 0) { - return; - } - let currentIndex = -step; - for (let i = 0; i < children.length; i++) { - const previewImage = children[i]; - const display = previewImage.style.display; - if (display !== "none") { - currentIndex = i; - } - previewImage.style.display = "none"; - } - currentIndex = currentIndex + step; - if (currentIndex >= children.length) { currentIndex = 0; } - else if (currentIndex < 0) { currentIndex = children.length - 1; } - children[currentIndex].style.display = "block"; - } - /** * @param {Object} info * @param {String[]} modelTypes @@ -1946,35 +2314,12 @@ class ModelManager extends ComfyDialog { * @returns {HTMLDivElement} */ #downloadTab_modelInfo(info, modelTypes, modelDirectories, searchSeparator, id) { - // TODO: use passed in info - const RADIO_MODEL_PREVIEW_NONE = "No Preview"; - const RADIO_MODEL_PREVIEW_DEFAULT = "Default Preview"; - const RADIO_MODEL_PREVIEW_CUSTOM = "Custom Preview"; + const [el_radioGroup, el_preview, getImage, el_defaultUri, resetModelInfoPreview] = radioGroupImageSelect( + "model-download-info-preview-model" + "-" + id, + info["images"], + ); - const els = { - modelPreviewContainer: null, - previewImgs: null, - buttonLeft: null, - buttonRight: null, - - customPreviewContainer: null, - customPreviewUrl: null, - - modelTypeSelect: null, - saveDirectoryPath: null, - filename: null, - }; - - $el("input.search-text-area", { - $: (el) => (els.saveDirectoryPath = el), - type: "text", - placeholder: this.#searchSeparator + "0", - value: this.#searchSeparator + "0", - }); - - $el("select.model-select-dropdown", { - $: (el) => (els.modelTypeSelect = el), - }, (() => { + const el_modelTypeSelect = $el("select.model-select-dropdown", (() => { const options = [$el("option", { value: "" }, ["-- Model Type --"])]; modelTypes.forEach((modelType) => { options.push($el("option", { value: modelType }, [modelType])); @@ -1982,11 +2327,16 @@ class ModelManager extends ComfyDialog { return options; })()); + const el_saveDirectoryPath = $el("input.search-text-area", { + type: "text", + placeholder: this.#searchSeparator + "0", + value: this.#searchSeparator + "0", + }); let searchDropdown = null; searchDropdown = new DirectoryDropdown( - els.saveDirectoryPath, + el_saveDirectoryPath, () => { - const modelType = els.modelTypeSelect.value; + const modelType = el_modelTypeSelect.value; if (modelType === "") { return; } searchDropdown.update( modelDirectories, @@ -2000,36 +2350,13 @@ class ModelManager extends ComfyDialog { true, ); - const radioGroupName = "model-download-info-preview-model" + "-" + id; - const radioGroup = $radioGroup({ - name: radioGroupName, - onchange: (value) => { - switch (value) { - case RADIO_MODEL_PREVIEW_DEFAULT: - const bottonStyleDisplay = els.previewImgs.children.length > 1 ? "block" : "none"; - els.buttonLeft.style.display = bottonStyleDisplay; - els.buttonRight.style.display = bottonStyleDisplay; - els.modelPreviewContainer.style.display = "block"; - els.customPreviewContainer.style.display = "none"; - break; - case RADIO_MODEL_PREVIEW_CUSTOM: - els.modelPreviewContainer.style.display = "none"; - els.customPreviewContainer.style.display = "flex"; - break; - default: - els.modelPreviewContainer.style.display = "none"; - els.customPreviewContainer.style.display = "none"; - break; - } - }, - options: (() => { - const radios = []; - radios.push({ value: RADIO_MODEL_PREVIEW_NONE }); - if (info["images"].length > 0) { - radios.push({ value: RADIO_MODEL_PREVIEW_DEFAULT }); - } - radios.push({ value: RADIO_MODEL_PREVIEW_CUSTOM }); - return radios; + const el_filename = $el("input.plain-text-area", { + type: "text", + placeholder: (() => { + const filename = info["fileName"]; + // TODO: only remove valid model file extensions + const i = filename.lastIndexOf("."); + return i === - 1 ? filename : filename.substring(0, i); })(), }); @@ -2039,82 +2366,32 @@ class ModelManager extends ComfyDialog { $el("div", { style: { display: "flex", "flex-wrap": "wrap", gap: "16px" }, }, [ - $el("div.item", { - $: (el) => (els.modelPreviewContainer = el), - style: { display: "none" }, - }, [ - $el("div", { - $: (el) => (els.previewImgs = el), - style: { - width: "100%", - height: "100%", - }, - }, (() => { - const imgs = info["images"].map((url) => { - return $el("img", { - src: url, - style: { display: "none" }, - loading: "lazy", - }); - }); - if (imgs.length > 0) { - imgs[0].style.display = "block"; - } - return imgs; - })()), - $el("div.model-preview-overlay", [ - $el("button.icon-button.model-preview-button-left", { - $: (el) => (els.buttonLeft = el), - onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, -1), - textContent: "←", - }), - $el("button.icon-button.model-preview-button-right", { - $: (el) => (els.buttonRight = el), - onclick: () => ModelManager.#downloadTab_updatePreview(els.previewImgs, 1), - textContent: "→", - }), - ]), - ]), + el_preview, $el("div.download-settings", [ $el("div", { style: { "margin-top": "8px" } }, [ - $el("div.model-preview-select-radio-container", [ - $el("div.row.tab-header-flex-block", [radioGroup]), - $el("div", [ - $el("div.row.tab-header-flex-block", { - $: (el) => (els.customPreviewContainer = el), - style: { display: "none" }, - }, [ - $el("input.search-text-area", { - $: (el) => (els.customPreviewUrl = el), - type: "text", - placeholder: "https://custom-image-preview.png" - }), - ]), - ]), + $el("div.row.tab-header-flex-block", [ + el_modelTypeSelect, ]), $el("div.row.tab-header-flex-block", [ - els.modelTypeSelect, - ]), - $el("div.row.tab-header-flex-block", [ - els.saveDirectoryPath, + el_saveDirectoryPath, searchDropdown.element, ]), $el("div.row.tab-header-flex-block", [ $el("button.icon-button", { textContent: "📥︎", onclick: async (e) => { - const record = {}; - record["download"] = info["downloadUrl"]; - record["path"] = ( - els.modelTypeSelect.value + + const formData = new FormData(); + formData.append("download", info["downloadUrl"]); + formData.append("path", + el_modelTypeSelect.value + this.#searchSeparator + // NOTE: this may add multiple separators (server should handle carefully) - els.saveDirectoryPath.value + el_saveDirectoryPath.value ); - record["name"] = (() => { + formData.append("name", (() => { const filename = info["fileName"]; - const name = els.filename.value; + const name = el_filename.value; if (name === "") { return filename; } @@ -2122,36 +2399,23 @@ class ModelManager extends ComfyDialog { return filename.endsWith(ext); }) ?? ""; return name + ext; - })(); - record["image"] = (() => { - const value = document.querySelector(`input[name="${radioGroupName}"]:checked`).value; - switch (value) { - case RADIO_MODEL_PREVIEW_DEFAULT: - const children = els.previewImgs.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - if (child.style.display !== "none") { - return child.src; - } - } - return ""; - case RADIO_MODEL_PREVIEW_CUSTOM: - return els.customPreviewUrl.value; - } - return ""; - })(); - record["overwrite"] = this.#el.modelInfoOverwrite.checked; + })()); + formData.append("image", getImage()); + formData.append("overwrite", this.#el.modelInfoOverwrite.checked); e.target.disabled = true; const [success, resultText] = await request( "/model-manager/model/download", { method: "POST", - body: JSON.stringify(record), + body: formData, } - ).then(data => { + ).then((data) => { const success = data["success"]; + if (!success) { + console.warn(data["invalid"]); + } return [success, success ? "✔" : "📥︎"]; - }).catch(err => { + }).catch((err) => { return [false, "📥︎"]; }); if (success) { @@ -2161,59 +2425,26 @@ class ModelManager extends ComfyDialog { e.target.disabled = success; }, }), - $el("input.plain-text-area", { - $: (el) => (els.filename = el), - type: "text", - placeholder: (() => { - const filename = info["fileName"]; - // TODO: only remove valid model file extensions - const i = filename.lastIndexOf("."); - return i === - 1 ? filename : filename.substring(0, i); - })(), - }), + el_filename, ]), + el_radioGroup, ]), - /* - $el("div", (() => { - return Object.entries(info["details"]).filter(([, value]) => { - return value !== undefined && value !== null; - }).map(([key, value]) => { - const el = document.createElement("p"); - el.innerText = key + ": " + value; - return el; - }); - })()), - */ ]), ]), ]); - if (info["images"].length > 0) { - const children = radioGroup.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - const radioButton = child.children[0]; - if (radioButton.value === RADIO_MODEL_PREVIEW_DEFAULT) { - els.modelPreviewContainer.style.display = "block"; - radioButton.checked = true; - break; - } - }; - } - - const modelTypeSelect = els.modelTypeSelect; - modelTypeSelect.selectedIndex = 0; // reset + el_modelTypeSelect.selectedIndex = 0; // reset const comfyUIModelType = ( modelTypeToComfyUiDirectory(info["details"]["fileType"]) ?? modelTypeToComfyUiDirectory(info["modelType"]) ?? null ); if (comfyUIModelType !== undefined && comfyUIModelType !== null) { - const modelTypeOptions = modelTypeSelect.children; + const modelTypeOptions = el_modelTypeSelect.children; for (let i = 0; i < modelTypeOptions.length; i++) { const option = modelTypeOptions[i]; if (option.value === comfyUIModelType) { - modelTypeSelect.selectedIndex = i; + el_modelTypeSelect.selectedIndex = i; break; } } From b7747a163af13284c235a83bcf36d192818d6c97 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 22 Feb 2024 15:53:58 -0500 Subject: [PATCH 65/79] Layout and button changes - In Model View, moved "Set as Preview" button below radio buttons and disabled when Default selected. - General CSS layout improvements. --- __init__.py | 4 + web/model-manager.css | 13 +- web/model-manager.js | 312 +++++++++++++++++++++++------------------- 3 files changed, 183 insertions(+), 146 deletions(-) diff --git a/__init__.py b/__init__.py index 5c2ef9a..b192e6e 100644 --- a/__init__.py +++ b/__init__.py @@ -651,10 +651,14 @@ async def move_model(request): if new_path is None: return web.json_response({ "success": False }) new_path, _ = search_path_to_system_path(new_path) + if new_path is None: + return web.json_response({ "success": False }) if not os.path.isdir(new_path): return web.json_response({ "success": False }) new_file = os.path.join(new_path, filename) + if old_file == new_file: + return web.json_response({ "success": False }) try: shutil.move(old_file, new_file) except ValueError as e: diff --git a/web/model-manager.css b/web/model-manager.css index d82075c..a2ec050 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -366,6 +366,7 @@ display: flex; flex-direction: row; flex: 1; + min-width: 0; } .model-manager .model-select-dropdown { @@ -403,9 +404,15 @@ .model-manager .search-dropdown > p { margin: 0; - padding-left: 20px; - padding-top: 0.85em; - padding-bottom: 0.85em; + padding: 0.85em 20px; + min-width: 0; +} +.model-manager .search-dropdown > p { + -ms-overflow-style: none; /* Internet Explorer 10+ */ + scrollbar-width: none; /* Firefox */ +} +.model-manager .search-dropdown > p::-webkit-scrollbar { + display: none; /* Safari and Chrome */ } .model-manager .search-dropdown > p.search-dropdown-selected { diff --git a/web/model-manager.js b/web/model-manager.js index 46a1f72..fb9f8c8 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -721,7 +721,7 @@ class DirectoryDropdown { dropdown.append.apply(dropdown, innerHtml); // TODO: handle when dropdown is near the bottom of the window const inputRect = input.getBoundingClientRect(); - dropdown.style.minWidth = inputRect.width + "px"; + dropdown.style.width = inputRect.width + "px"; dropdown.style.top = (input.offsetTop + inputRect.height) + "px"; dropdown.style.left = input.offsetLeft + "px"; dropdown.style.display = "block"; @@ -1338,7 +1338,7 @@ function updateRadioPreview(previewImageContainer, step) { * @param {String[]} defaultPreviews * @returns {[]} */ -function radioGroupImageSelect(uniqueName, defaultPreviews, defaultChanges=false) { +function radioGroupImageSelect(uniqueName, defaultPreviews) { const defaultImageCount = defaultPreviews.length; const el_defaultUri = $el("div", { @@ -1457,10 +1457,10 @@ function radioGroupImageSelect(uniqueName, defaultPreviews, defaultChanges=false el_previewButtons, ]); - const PREVIEW_NONE = "No Preview"; const PREVIEW_DEFAULT = "Default"; - const PREVIEW_URL = "URL"; const PREVIEW_UPLOAD = "Upload"; + const PREVIEW_URL = "URL"; + const PREVIEW_NONE = "No Preview"; const el_radioButtons = $radioGroup({ name: uniqueName, @@ -1476,36 +1476,48 @@ function radioGroupImageSelect(uniqueName, defaultPreviews, defaultChanges=false el_urlImage.style.display = "none"; switch (value) { - case PREVIEW_NONE: - default: - el_noImage.style.display = "block"; - break; case PREVIEW_DEFAULT: el_defaultImages.style.display = "block"; el_previewButtons.style.display = el_defaultImages.children.length > 1 ? "block" : "none"; break; - case PREVIEW_URL: - el_custom.style.display = "flex"; - el_urlImage.style.display = "block"; - break; case PREVIEW_UPLOAD: el_upload.style.display = "flex"; el_uploadImage.style.display = "block"; break; + case PREVIEW_URL: + el_custom.style.display = "flex"; + el_urlImage.style.display = "block"; + break; + case PREVIEW_NONE: + default: + el_noImage.style.display = "block"; + break; } }, options: (() => { const radios = []; - radios.push({ value: PREVIEW_NONE }); if (defaultImageCount > 0) { radios.push({ value: PREVIEW_DEFAULT }); } - radios.push({ value: PREVIEW_URL }); radios.push({ value: PREVIEW_UPLOAD }) + radios.push({ value: PREVIEW_URL }); + radios.push({ value: PREVIEW_NONE }); return radios; })(), }); + const defaultIsChecked = () => { + const children = el_radioButtons.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === PREVIEW_DEFAULT) { + return radioButton.checked; + } + }; + return false; + } + if (defaultImageCount > 0) { const children = el_radioButtons.children; for (let i = 0; i < children.length; i++) { @@ -1583,7 +1595,8 @@ function radioGroupImageSelect(uniqueName, defaultPreviews, defaultChanges=false ]), ]); - return [el_radioGroup, el_preview, getImage, el_defaultUri, resetModelInfoPreview]; + // TODO: make this an object? + return [el_radioGroup, el_radioButtons, el_preview, getImage, el_defaultUri, resetModelInfoPreview, defaultIsChecked]; } class ModelManager extends ComfyDialog { @@ -1593,8 +1606,10 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelInfoUrl: null, /** @type {HTMLDivElement} */ modelInfoOverwrite: null, /** @type {HTMLDivElement} */ modelInfos: null, + modelInfoRadioGroup: null, modelInfoPreview: null, modelInfoDefaultUri: null, + setAsPreviewButton: null, /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, @@ -1635,6 +1650,7 @@ class ModelManager extends ComfyDialog { #systemSeparator = null; #resetModelInfoPreview = () => {}; + #modelInfoDefaultIsChecked = () => { return false; }; constructor() { super(); @@ -1657,7 +1673,7 @@ class ModelManager extends ComfyDialog { true, ); - const [el_radioGroup, el_preview, getImage, el_defaultUri, resetModelInfoPreview] = radioGroupImageSelect( + const [el_radioGroup, el_radioButtons, el_preview, getImage, el_defaultUri, resetModelInfoPreview, defaultIsChecked] = radioGroupImageSelect( "model-info-preview-model-FYUIKMNVB", [imageUri()], ); @@ -1666,6 +1682,70 @@ class ModelManager extends ComfyDialog { this.#el.modelInfoPreview = el_preview; this.#el.modelInfoDefaultUri = el_defaultUri; this.#resetModelInfoPreview = resetModelInfoPreview; + this.#modelInfoDefaultIsChecked = defaultIsChecked; + + const setAsPreviewButton = $el("button", { + $: (el) => (this.#el.setAsPreviewButton = el), + textContent: "Set as Preview", + onclick: async(e) => { + const confirmation = window.confirm("Change preview image PERMANENTLY?"); + let updatedPreview = false; + if (confirmation) { + e.target.disabled = true; + const container = this.#el.modelInfoContainer; + const path = container.dataset.path; + const imageUrl = getImage(); + if (imageUrl === imageUri()) { + const encodedPath = encodeURIComponent(path); + updatedPreview = await request( + `/model-manager/preview/delete?path=${encodedPath}`, + { + method: "POST", + body: JSON.stringify({}), + } + ) + .then((result) => { + return result["success"]; + }) + .catch((err) => { + return false; + }); + } + else { + const formData = new FormData(); + formData.append("path", path); + const image = imageUrl[0] == "/" ? "" : imageUrl; + formData.append("image", image); + updatedPreview = await request( + `/model-manager/preview/set`, + { + method: "POST", + body: formData, + } + ) + .then((result) => { + return result["success"]; + }) + .catch((err) => { + return false; + }); + } + if (updatedPreview) { + this.#modelTab_updateModels(); + this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(); + this.#resetModelInfoPreview(); + this.#el.modelInfoView.style.display = "none"; + } + + e.target.disabled = false; + } + buttonAlert(e.target, updatedPreview); + }, + }); + + el_radioButtons.addEventListener("change", (e) => { + setAsPreviewButton.style.display = defaultIsChecked() ? "none" : "block"; + }); this.element = $el( "div.comfy-modal.model-manager", @@ -1678,51 +1758,44 @@ class ModelManager extends ComfyDialog { $: (el) => (this.#el.modelInfoView = el), style: { display: "none" }, }, [ - $el("div", { - style: { - display: "flex", - gap: "8px", - }, - }, [ - $el("button.icon-button", { - textContent: "🗑︎", - onclick: async(e) => { - const affirmation = "delete"; - const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY.\n\nThis includes all image or text files."); - let deleted = false; - if (confirmation === affirmation) { - const container = this.#el.modelInfoContainer; - const path = encodeURIComponent(container.dataset.path); - deleted = await request( - `/model-manager/model/delete?path=${path}`, - { - method: "POST", - } - ) - .then((result) => { - const deleted = result["success"]; - if (deleted) - { - container.innerHTML = ""; - this.#el.modelInfoView.style.display = "none"; - this.#modelTab_updateModels(); - } - return deleted; - }) - .catch((err) => { - return false; - }); - } - if (!deleted) { - buttonAlert(e.target, false); - } - }, - }), - ]), $el("div.row.tab-header", { display: "block", }, [ $el("div.row.tab-header-flex-block", [ + $el("button.icon-button", { + textContent: "🗑︎", + onclick: async(e) => { + const affirmation = "delete"; + const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY.\n\nThis includes all image or text files."); + let deleted = false; + if (confirmation === affirmation) { + const container = this.#el.modelInfoContainer; + const path = encodeURIComponent(container.dataset.path); + deleted = await request( + `/model-manager/model/delete?path=${path}`, + { + method: "POST", + } + ) + .then((result) => { + const deleted = result["success"]; + if (deleted) + { + container.innerHTML = ""; + this.#el.modelInfoView.style.display = "none"; + this.#modelTab_updateModels(); + } + return deleted; + }) + .catch((err) => { + return false; + }); + } + if (!deleted) { + buttonAlert(e.target, false); + } + }, + }), $el("div.search-models", [ moveDestination, searchDropdown.element, @@ -1730,33 +1803,36 @@ class ModelManager extends ComfyDialog { $el("button", { textContent: "Move", onclick: async(e) => { - const container = this.#el.modelInfoContainer; - const moved = await request( - `/model-manager/model/move`, - { - method: "POST", - body: JSON.stringify({ - "oldFile": container.dataset.path, - "newDirectory": moveDestination.value, - }), - } - ) - .then((result) => { - const moved = result["success"]; - if (moved) - { - container.innerHTML = ""; - this.#el.modelInfoView.style.display = "none"; - this.#modelTab_updateModels(); - } - return moved; - }) - .catch(err => { - return false; - }); - if (!moved) { - buttonAlert(e.target, false); + const confirmation = window.confirm("Move this file?"); + let moved = false; + if (confirmation) { + const container = this.#el.modelInfoContainer; + moved = await request( + `/model-manager/model/move`, + { + method: "POST", + body: JSON.stringify({ + "oldFile": container.dataset.path, + "newDirectory": moveDestination.value, + }), + } + ) + .then((result) => { + const moved = result["success"]; + if (moved) + { + moveDestination.value = ""; + container.innerHTML = ""; + this.#el.modelInfoView.style.display = "none"; + this.#modelTab_updateModels(); + } + return moved; + }) + .catch(err => { + return false; + }); } + buttonAlert(e.target, moved); }, }), ]), @@ -1960,73 +2036,23 @@ class ModelManager extends ComfyDialog { const imagePath = info["Preview"]["path"]; const imageDateModified = info["Preview"]["dateModified"]; this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(imagePath, imageDateModified); - this.#resetModelInfoPreview(); } + else { + this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(); + } + this.#resetModelInfoPreview(); + + const setAsPreviewButton = this.#el.setAsPreviewButton; + setAsPreviewButton.style.display = this.#modelInfoDefaultIsChecked() ? "none" : "block"; innerHtml.push($el("div", [ this.#el.modelInfoPreview, $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ - $el("button", { - textContent: "Set as Preview", - onclick: async(e) => { - const confirmation = window.confirm("Change preview image PERMANENTLY?"); - let updatedPreview = false; - if (confirmation) { - e.target.disabled = true; - const container = this.#el.modelInfoContainer; - const path = container.dataset.path; - const imageUrl = getImage(); - if (imageUrl === imageUri()) { - const encodedPath = encodeURIComponent(path); - updatedPreview = await request( - `/model-manager/preview/delete?path=${encodedPath}`, - { - method: "POST", - body: JSON.stringify({}), - } - ) - .then((result) => { - return result["success"]; - }) - .catch((err) => { - return false; - }); - } - else { - const formData = new FormData(); - formData.append("path", path); - const image = imageUrl[0] == "/" ? "" : imageUrl; - formData.append("image", image); - updatedPreview = await request( - `/model-manager/preview/set`, - { - method: "POST", - body: formData, - } - ) - .then((result) => { - return result["success"]; - }) - .catch((err) => { - return false; - }); - } - if (updatedPreview) { - this.#modelTab_updateModels(); - this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(); - this.#resetModelInfoPreview(); - this.#el.modelInfoView.style.display = "none"; - } - - e.target.disabled = false; - } - buttonAlert(e.target, updatedPreview); - }, - }), + this.#el.modelInfoRadioGroup, ]), $el("div.row.tab-header-flex-block", [ - this.#el.modelInfoRadioGroup, + setAsPreviewButton, ]), ]), $el("div", @@ -2314,7 +2340,7 @@ class ModelManager extends ComfyDialog { * @returns {HTMLDivElement} */ #downloadTab_modelInfo(info, modelTypes, modelDirectories, searchSeparator, id) { - const [el_radioGroup, el_preview, getImage, el_defaultUri, resetModelInfoPreview] = radioGroupImageSelect( + const [el_radioGroup, el_radioButtons, el_preview, getImage, el_defaultUri, resetModelInfoPreview, defaultIsChecked] = radioGroupImageSelect( "model-download-info-preview-model" + "-" + id, info["images"], ); From f5b1b8f70d96eb8f81d95dd710cc7978678ca5f9 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Thu, 22 Feb 2024 16:00:24 -0500 Subject: [PATCH 66/79] Update README. --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 442d69d..7bd938b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ I made this fork because the original repo was inactive and missing many things - View model metadata, including training tags and bucket resolutions. - Delete or move a model. - Read, edit and save notes in a `.txt` file beside the model. -- Change or remove preview image. +- Change or remove preview image with a file upload or a url. ### ComfyUI Node Graph @@ -66,9 +66,8 @@ I made this fork because the original repo was inactive and missing many things - Copy model path? -### Model info window/panel (server load/send on demand) +### Download Model Info -- Set preview image. - Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - Radio buttons to swap between downloaded and server view. From 839b93c9bef4910e3b7e06c0e6c6ac3dad1f9586 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Fri, 23 Feb 2024 02:36:40 -0500 Subject: [PATCH 67/79] BUG FIX: Civitai API key token added to a url with existing query string. - Also updated README. --- README.md | 78 ++++++++++++++++++++------------------------ __init__.py | 12 ++++--- web/model-manager.js | 34 +++++++++++++------ 3 files changed, 68 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 7bd938b..17360f8 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,9 @@ I made this fork because the original repo was inactive and missing many things ### Download Tab -- View multiple models associated to a url. -- Select download directory. -- Optionally download default or custom preview image. +- View multiple models associated with a url. +- Select a download directory. +- Optionally also download a model preview image (a default image along side the model, from another url or locally uploaded). - Civitai and HuggingFace API token configurable in `server_settings.yaml`. ### Models Tab @@ -29,12 +29,12 @@ I made this fork because the original repo was inactive and missing many things - Include models listed in ComfyUI's `extra_model_paths.yaml` or added in `ComfyUI/models`. - Sort for models (Date Created, Date Modified, Name). -### Model Info +### Model Info View - View model metadata, including training tags and bucket resolutions. -- Delete or move a model. - Read, edit and save notes in a `.txt` file beside the model. -- Change or remove preview image with a file upload or a url. +- Change or remove a model's preview image (add a different one using a url or local upload). +- Move or **permanently** remove models. ### ComfyUI Node Graph @@ -47,62 +47,56 @@ I made this fork because the original repo was inactive and missing many things ### Settings Tab -- Change colors using ComfyUI's theme colors. - Settings tab saved in `ui_settings.yaml`. - Hide/Show 'add' and 'copy-to-clipboard' buttons. - Text to always search. - Show/Hide add embedding extension. +- Colors follow ComfyUI's current theme. ## TODO -### Code - -- Javascript cleanup. - - Seperate into classes per tab? - - HTML generation all inside main class? - - More server driven, HTMX-like HTML generation? (Avoid x2 states) - -### Model Copying - -- Copy model path? - ### Download Model Info - Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - Radio buttons to swap between downloaded and server view. +### Sidebar + +- Drag sidebar width/height dynamically. + +### Accessibility + +- Proper naming, labeling, alt text, etc. for html elements. +- Tool tips. +- Better error messages. + +### Image preview + +- Better placeholder preview. (with proper spelling!) +- Show preview images for videos. + - If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. + ### Settings -- Exclude hidden folders with a `.` prefix. -- Enable optional checksum to detect if a model is already downloaded. -- Sidebar width/height. +- Toggle exclusion of "hidden folders" with a `.` prefix. +- Sidebar default width/height. +- Toggle non-uniform preview sizes. (How to handle extreme aspect ratios?) ### Search filtering and sort - Real-time search - Check search code is optimized to avoid recalculation on every minor input change -- Directory dropdown - - Use always filter to filter directory content auto-suggest dropdown +- Filter directory dropdown + - Filter directory content in auto-suggest dropdown (not clear how this should be implemented) - Filters dropdown - - Stable Diffusion model version/Clip/Upscale/? + - Stable Diffusion model version, if applicable - Favorites -- Sort-by dropdown - - Recently used (ascending/decending) - - Frequently used (ascending/decending) -- `or` vs `and` type of keyword search (currently `and`) +- Swap between `and` and `or` keyword search? (currently `and`) -### Image preview +### Code -- Support multiple preview images. (swipe?) -- Show preview images for videos. - - If ffmpeg or cv2 available, extract the first frame of the video and use as image preview. - - Play preview video? - -### Accessibility - -- Proper naming and labeling. -- Tool tips? - -### Sidebar - -- Drag sidebar width/height dynamically. +- Javascript cleanup. + - Better abstraction and objectification. (After codebase settles down) + - Separate into classes per tab? + - HTML generation all inside main class? + - More server driven, HTMX-like HTML generation? (Avoid x2 states) diff --git a/__init__.py b/__init__.py index b192e6e..45d7e6e 100644 --- a/__init__.py +++ b/__init__.py @@ -409,14 +409,18 @@ def download_file(url, filename, overwrite): api_key = server_settings["civitai_api_key"] if (api_key != ""): def_headers["Authorization"] = f"Bearer {api_key}" - url = url + f"?token={api_key}" # TODO: Authorization didn't work in the header + url += "&" if "?" in url else "?" # not the most robust solution + url += f"token={api_key}" # TODO: Authorization didn't work in the header elif url.startswith("https://huggingface.co/"): api_key = server_settings["huggingface_api_key"] if api_key != "": def_headers["Authorization"] = f"Bearer {api_key}" rh = requests.get(url=url, stream=True, verify=False, headers=def_headers, proxies=None, allow_redirects=False) if not rh.ok: - raise ValueError("Unable to download") + raise ValueError( + "Unable to download! Request header status code: " + + str(rh.status_code) + ) downloaded_size = 0 if rh.status_code == 200 and os.path.exists(filename_temp): @@ -432,7 +436,7 @@ def download_file(url, filename, overwrite): if not redirect_url.startswith("http"): # Civitai requires login (NSFW or user-required) # TODO: inform user WHY download failed - raise ValueError("Unable to download!") + raise ValueError("Unable to download from Civitai! Redirect url: " + str(redirect_url)) download_file(redirect_url, filename, overwrite) return if rh.status_code == 302 and r.status_code == 302: @@ -440,7 +444,7 @@ def download_file(url, filename, overwrite): redirect_url = r.content.decode("utf-8") redirect_url_index = redirect_url.find("http") if redirect_url_index == -1: - raise ValueError("Unable to download!") + raise ValueError("Unable to download from HuggingFace! Redirect url: " + str(redirect_url)) download_file(redirect_url[redirect_url_index:], filename, overwrite) return elif rh.status_code == 200 and r.status_code == 206: diff --git a/web/model-manager.js b/web/model-manager.js index fb9f8c8..b90f5b1 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -121,11 +121,17 @@ function modelTypeToComfyUiDirectory(modelType, fileType) { * @param {string} id - Model ID. * @param {string} apiPath - Civitai request subdirectory. "models" for 'model' urls. "model-version" for 'api' urls. * - * @returns {Object} Dictionary containing recieved model info. Returns an empty if fails. + * @returns {Promise} Dictionary containing recieved model info. Returns an empty if fails. */ async function civitai_requestInfo(id, apiPath) { const url = "https://civitai.com/api/v1/" + apiPath + "/" + id; - return await request(url); + try { + return await request(url); + } + catch (error) { + console.error("Failed to get model info from Civitai!", error); + return {}; + } } /** @@ -186,7 +192,7 @@ function civitai_getModelFilesInfo(modelVersionInfo, type = null, fp = null, siz * * @param {string} stringUrl - Model url. * - * @returns {Object} - Download information for the given url. + * @returns {Promise} - Download information for the given url. */ async function civitai_getFilteredInfo(stringUrl) { const url = new URL(stringUrl); @@ -264,7 +270,13 @@ async function civitai_getFilteredInfo(stringUrl) { */ async function huggingFace_requestInfo(id, apiPath = "models") { const url = "https://huggingface.co/api/" + apiPath + "/" + id; - return await request(url); + try { + return await request(url); + } + catch (error) { + console.error("Failed to get model info from HuggingFace!", error); + return {}; + } } /** @@ -1606,15 +1618,14 @@ class ModelManager extends ComfyDialog { /** @type {HTMLDivElement} */ modelInfoUrl: null, /** @type {HTMLDivElement} */ modelInfoOverwrite: null, /** @type {HTMLDivElement} */ modelInfos: null, - modelInfoRadioGroup: null, - modelInfoPreview: null, - modelInfoDefaultUri: null, - setAsPreviewButton: null, + /** @type {HTMLDivElement} */ modelInfoRadioGroup: null, + /** @type {HTMLDivElement} */ modelInfoPreview: null, + /** @type {HTMLDivElement} */ modelInfoDefaultUri: null, + /** @type {HTMLDivElement} */ setAsPreviewButton: null, /** @type {HTMLDivElement} */ modelGrid: null, /** @type {HTMLSelectElement} */ modelTypeSelect: null, /** @type {HTMLSelectElement} */ modelSortSelect: null, - /** @type {HTMLDivElement} */ //searchDirectoryDropdown: null, /** @type {HTMLInputElement} */ modelContentFilter: null, /** @type {HTMLDivElement} */ sidebarButtons: null, @@ -1649,7 +1660,10 @@ class ModelManager extends ComfyDialog { /** @type {string} */ #systemSeparator = null; + /** @type {Function} */ #resetModelInfoPreview = () => {}; + + /** @type {Function} */ #modelInfoDefaultIsChecked = () => { return false; }; constructor() { @@ -2161,7 +2175,7 @@ class ModelManager extends ComfyDialog { } /** - * @param {boolean} reloadData + * @param {Promise} reloadData */ async #settingsTab_reload(reloadData) { const data = await request("/model-manager/settings/load"); From a4dd2f570b501c38e3bcf8bfe078c3271ceb1d47 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 25 Feb 2024 23:02:02 -0500 Subject: [PATCH 68/79] Rename model in Model View added. - Generalized model/move to also support renaming. --- README.md | 13 ++++- __init__.py | 57 +++++++++++----------- web/model-manager.css | 5 +- web/model-manager.js | 108 ++++++++++++++++++++++++++++++++++++------ 4 files changed, 135 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 17360f8..8fe4679 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ I made this fork because the original repo was inactive and missing many things - View model metadata, including training tags and bucket resolutions. - Read, edit and save notes in a `.txt` file beside the model. - Change or remove a model's preview image (add a different one using a url or local upload). -- Move or **permanently** remove models. +- Rename, move or **permanently** remove models. ### ComfyUI Node Graph @@ -55,8 +55,16 @@ I made this fork because the original repo was inactive and missing many things ## TODO +### Download Model + +- Checkbox to optionally save description in `.txt` file for Civitai. (what about "About Model"?) +- Server setting to enable creating new folders (on download, on move). + ### Download Model Info +- Auto-save notes? (requires debounce and save confirmation) +- Load workflow from preview (Should be easy to add with ComfyUI built-in clipboard.) +- Default weights on add/drag? (optional override on drag?) - Optional (re)download `📥︎` model info from the internet and cache the text file locally. (requires checksum?) - Radio buttons to swap between downloaded and server view. @@ -89,13 +97,14 @@ I made this fork because the original repo was inactive and missing many things - Filter directory dropdown - Filter directory content in auto-suggest dropdown (not clear how this should be implemented) - Filters dropdown - - Stable Diffusion model version, if applicable + - Stable Diffusion model version, if applicable (Maybe dropdown list of "Base Models" is more pratical to impliment?) - Favorites - Swap between `and` and `or` keyword search? (currently `and`) ### Code - Javascript cleanup. + - Stop abusing popup/modal. - Better abstraction and objectification. (After codebase settles down) - Separate into classes per tab? - HTML generation all inside main class? diff --git a/__init__.py b/__init__.py index 45d7e6e..f48a348 100644 --- a/__init__.py +++ b/__init__.py @@ -486,14 +486,9 @@ def download_file(url, filename, overwrite): def download_image(image_uri, model_path, overwrite): - extension = None # TODO: doesn't work for https://civitai.com/images/... - for image_extension in image_extensions: - if image_uri.endswith(image_extension): - extension = image_extension - break - if extension is None: + _, extension = os.path.splitext(image_uri) # TODO: doesn't work for https://civitai.com/images/... + if not extension in image_extensions: raise ValueError("Invalid image type!") - path_without_extension, _ = os.path.splitext(model_path) file = path_without_extension + extension download_file(image_uri, file, overwrite) @@ -607,12 +602,8 @@ async def download_model(request): return web.json_response(result) name = formdata.get("name") - model_extension = None - for ext in folder_paths_get_supported_pt_extensions(model_type): - if name.endswith(ext): - model_extension = ext - break - if model_extension is None: + _, model_extension = os.path.splitext(name) + if not model_extension in folder_paths_get_supported_pt_extensions(model_type): result["invalid"] = "name" return web.json_response(result) file_name = os.path.join(directory, name) @@ -646,21 +637,30 @@ async def move_model(request): old_file = body.get("oldFile", None) if old_file is None: return web.json_response({ "success": False }) - old_file, _ = search_path_to_system_path(old_file) + old_file, old_model_type = search_path_to_system_path(old_file) if not os.path.isfile(old_file): return web.json_response({ "success": False }) - _, filename = os.path.split(old_file) - - new_path = body.get("newDirectory", None) - if new_path is None: - return web.json_response({ "success": False }) - new_path, _ = search_path_to_system_path(new_path) - if new_path is None: - return web.json_response({ "success": False }) - if not os.path.isdir(new_path): + _, model_extension = os.path.splitext(old_file) + if not model_extension in folder_paths_get_supported_pt_extensions(old_model_type): + # cannot move arbitrary files + return web.json_response({ "success": False }) + + new_file = body.get("newFile", None) + if new_file is None or new_file == "": + # cannot have empty name + return web.json_response({ "success": False }) + new_file, new_model_type = search_path_to_system_path(new_file) + if not new_file.endswith(model_extension): + return web.json_response({ "success": False }) + if os.path.isfile(new_file): + # cannot overwrite existing file + return web.json_response({ "success": False }) + if not model_extension in folder_paths_get_supported_pt_extensions(new_model_type): + return web.json_response({ "success": False }) + new_file_dir, _ = os.path.split(new_file) + if not os.path.isdir(new_file_dir): return web.json_response({ "success": False }) - new_file = os.path.join(new_path, filename) if old_file == new_file: return web.json_response({ "success": False }) try: @@ -704,12 +704,9 @@ async def delete_model(request): if file is None: return web.json_response(result) - is_model = None - for ext in folder_paths_get_supported_pt_extensions(model_type): - if file.endswith(ext): - is_model = True - break - if not is_model: + _, extension = os.path.split(file) + if not extension in folder_paths_get_supported_pt_extensions(model_type): + # cannot move arbitrary files return web.json_response(result) if os.path.isfile(file): diff --git a/web/model-manager.css b/web/model-manager.css index a2ec050..3b5e392 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -225,6 +225,10 @@ } /* model manager common */ +.model-manager h1 { + min-width: 0; +} + .model-manager button, .model-manager select, .model-manager input { @@ -504,7 +508,6 @@ background-color: var(--bg-color); border-radius: 16px; color: var(--fg-color); - padding: 16px; width: auto; } diff --git a/web/model-manager.js b/web/model-manager.js index b90f5b1..ab1bb1f 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -750,11 +750,24 @@ function modelWidgetIndex(nodeType) { /** * @param {string} path - * @returns {string} + * @returns {[string, string]} */ -function pathToFileString(path) { +function searchPath_split(path) { const i = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1; - return path.slice(i); + return [path.slice(0, i), path.slice(i)]; +} + +/** + * @param {string} path + * @param {string[]} extensions + * @returns {[string, string]} + */ +function searchPath_splitExtension(path) { + const i = path.lastIndexOf("."); + if (i === -1) { + return [path, ""]; + } + return [path.slice(0, i), path.slice(i)]; } /** @@ -1016,7 +1029,7 @@ class ModelGrid { event.stopPropagation(); } else if (modelType === "embeddings") { - const embeddingFile = pathToFileString(path); + const [embeddingDirectory, embeddingFile] = searchPath_split(path); const selectedNodes = app.canvas.selected_nodes; for (var i in selectedNodes) { const selectedNode = selectedNodes[i]; @@ -1079,7 +1092,7 @@ class ModelGrid { const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); if (nodeAtPos) { app.canvas.selectNode(nodeAtPos); - const embeddingFile = pathToFileString(path); + const [embeddingDirectory, embeddingFile] = searchPath_split(path); target.value = insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); event.stopPropagation(); } @@ -1097,7 +1110,7 @@ class ModelGrid { let success = false; if (nodeType === "Embedding") { if (navigator.clipboard){ - const embeddingFile = pathToFileString(path); + const [embeddingDirectory, embeddingFile] = searchPath_split(path); const embeddingText = insertEmbeddingIntoText("", embeddingFile, removeEmbeddingExtension); navigator.clipboard.writeText(embeddingText); success = true; @@ -1669,12 +1682,12 @@ class ModelManager extends ComfyDialog { constructor() { super(); - const moveDestination = $el("input.search-text-area", { + const moveDestinationInput = $el("input.search-text-area", { placeholder: "/", }); let searchDropdown = null; searchDropdown = new DirectoryDropdown( - moveDestination, + moveDestinationInput, () => { searchDropdown.update( this.#data.modelDirectories, @@ -1811,7 +1824,7 @@ class ModelManager extends ComfyDialog { }, }), $el("div.search-models", [ - moveDestination, + moveDestinationInput, searchDropdown.element, ]), $el("button", { @@ -1821,21 +1834,30 @@ class ModelManager extends ComfyDialog { let moved = false; if (confirmation) { const container = this.#el.modelInfoContainer; + const oldFile = container.dataset.path; + const [oldFilePath, oldFileName] = searchPath_split(oldFile); + const [_, extension] = searchPath_splitExtension(oldFile); + const newFile = ( + moveDestinationInput.value + + this.#searchSeparator + + oldFileName + + extension + ); moved = await request( `/model-manager/model/move`, { method: "POST", body: JSON.stringify({ - "oldFile": container.dataset.path, - "newDirectory": moveDestination.value, + "oldFile": oldFile, + "newFile": newFile, }), } ) .then((result) => { const moved = result["success"]; - if (moved) + if (moved) { - moveDestination.value = ""; + moveDestinationInput.value = ""; container.innerHTML = ""; this.#el.modelInfoView.style.display = "none"; this.#modelTab_updateModels(); @@ -2043,7 +2065,63 @@ class ModelManager extends ComfyDialog { const innerHtml = []; const filename = info["File Name"]; if (filename !== undefined && filename !== null && filename !== "") { - innerHtml.push($el("h1", [filename])); + innerHtml.push( + $el("div.row", { + style: { margin: "8px 0 16px 0" }, + }, [ + $el("h1", { + style: { margin: "0" }, + }, [ + filename, + ]), + $el("div", [ + $el("button.icon-button", { + textContent: "✎", + onclick: async(e) => { + const name = window.prompt("New model name:"); + let renamed = false; + if (name !== null && name !== "") { + const container = this.#el.modelInfoContainer; + const oldFile = container.dataset.path; + const [oldFilePath, oldFileName] = searchPath_split(oldFile); + const [_, extension] = searchPath_splitExtension(oldFile); + const newFile = ( + oldFilePath + + this.#searchSeparator + + name + + extension + ); + renamed = await request( + `/model-manager/model/move`, + { + method: "POST", + body: JSON.stringify({ + "oldFile": oldFile, + "newFile": newFile, + }), + } + ) + .then((result) => { + const renamed = result["success"]; + if (renamed) + { + container.innerHTML = ""; + this.#el.modelInfoView.style.display = "none"; + this.#modelTab_updateModels(); + } + return renamed; + }) + .catch(err => { + console.log(err); + return false; + }); + } + buttonAlert(e.target, renamed); + }, + }), + ]), + ]), + ); } if (info["Preview"]) { @@ -2102,7 +2180,7 @@ class ModelManager extends ComfyDialog { elements.push($el("h2", [key + ":"])); const noteArea = $el("textarea.comfy-multiline-input", { value: value, - rows: 5, + rows: 10, }); elements.push(noteArea); elements.push($el("button", { From 9a6c7033d8610cede199dfe76110793f4e8898c6 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 25 Feb 2024 23:17:07 -0500 Subject: [PATCH 69/79] BUG FIX: Duplicate extension on move. --- __init__.py | 2 +- web/model-manager.js | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/__init__.py b/__init__.py index f48a348..58ef628 100644 --- a/__init__.py +++ b/__init__.py @@ -706,7 +706,7 @@ async def delete_model(request): _, extension = os.path.split(file) if not extension in folder_paths_get_supported_pt_extensions(model_type): - # cannot move arbitrary files + # cannot delete arbitrary files return web.json_response(result) if os.path.isfile(file): diff --git a/web/model-manager.js b/web/model-manager.js index ab1bb1f..4e581ed 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1836,12 +1836,10 @@ class ModelManager extends ComfyDialog { const container = this.#el.modelInfoContainer; const oldFile = container.dataset.path; const [oldFilePath, oldFileName] = searchPath_split(oldFile); - const [_, extension] = searchPath_splitExtension(oldFile); const newFile = ( moveDestinationInput.value + this.#searchSeparator + - oldFileName + - extension + oldFileName ); moved = await request( `/model-manager/model/move`, From aa837bc6dc8da2f2302a0ea0db4a938495c13c95 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Sun, 25 Feb 2024 23:20:44 -0500 Subject: [PATCH 70/79] BUG FIX: typo split instead of splitext --- __init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index 58ef628..bbca1d9 100644 --- a/__init__.py +++ b/__init__.py @@ -672,6 +672,7 @@ async def move_model(request): old_file_without_extension, _ = os.path.splitext(old_file) new_file_without_extension, _ = os.path.splitext(new_file) + # TODO: this could overwrite existing files... for extension in image_extensions + (".txt",): old_file = old_file_without_extension + extension if os.path.isfile(old_file): @@ -704,7 +705,7 @@ async def delete_model(request): if file is None: return web.json_response(result) - _, extension = os.path.split(file) + _, extension = os.path.splitext(file) if not extension in folder_paths_get_supported_pt_extensions(model_type): # cannot delete arbitrary files return web.json_response(result) From b5ee9e3c47808cb822ee24b6a9e83b2d296f9474 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 03:28:17 -0500 Subject: [PATCH 71/79] JavaScript refactoring. --- web/model-manager.js | 3008 ++++++++++++++++++++++-------------------- 1 file changed, 1592 insertions(+), 1416 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 4e581ed..753a589 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -2,21 +2,6 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; import { ComfyDialog, $el } from "../../scripts/ui.js"; -/** - * @param {Function} callback - * @param {number | undefined} delay - * @returns {Function} - */ -function debounce(callback, delay) { - let timeoutId = null; - return (...args) => { - window.clearTimeout(timeoutId); - timeoutId = window.setTimeout(() => { - callback(...args); - }, delay); - }; -} - /** * @param {string} url * @param {any} [options=undefined] @@ -49,15 +34,43 @@ const modelNodeType = { "vae_approx": undefined, }; -const DROPDOWN_DIRECTORY_SELECTION_CLASS = "search-dropdown-selected"; - -const MODEL_SORT_DATE_CREATED = "dateCreated"; -const MODEL_SORT_DATE_MODIFIED = "dateModified"; -const MODEL_SORT_DATE_NAME = "name"; - const MODEL_EXTENSIONS = [".bin", ".ckpt", ".onnx", ".pt", ".pth", ".safetensors"]; // TODO: ask server for? const IMAGE_EXTENSIONS = [".apng", ".gif", ".jpeg", ".jpg", ".png", ".webp"]; // TODO: ask server for? +class SearchPath { + /** + * @param {string} path + * @returns {[string, string]} + */ + static split(path) { + const i = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1; + return [path.slice(0, i), path.slice(i)]; + } + + /** + * @param {string} path + * @param {string[]} extensions + * @returns {[string, string]} + */ + static splitExtension(path) { + const i = path.lastIndexOf("."); + if (i === -1) { + return [path, ""]; + } + return [path.slice(0, i), path.slice(i)]; + } + + /** + * @param {string} path + * @returns {string} + */ + static systemPath(path, searchSeparator, systemSeparator) { + const i1 = path.indexOf(searchSeparator, 1); + const i2 = path.indexOf(searchSeparator, i1 + 1); + return path.slice(i2 + 1).replaceAll(searchSeparator, systemSeparator); + } +} + /** * @param {string | undefined} [searchPath=undefined] * @param {string | undefined} [dateImageModified=undefined] @@ -75,301 +88,515 @@ function imageUri(imageSearchPath = undefined, dateImageModified = undefined) { } /** - * Tries to return the related ComfyUI model directory if unambigious. - * - * @param {string | undefined} modelType - Model type. - * @param {string | undefined} [fileType] - File type. Relevant for "Diffusers". - * - * @returns {(string | null)} Logical base directory name for model type. May be null if the directory is ambiguous or not a model type. + * @param {(...args) => void} callback + * @param {number | undefined} delay + * @returns {(...args) => void} */ -function modelTypeToComfyUiDirectory(modelType, fileType) { - if (fileType !== undefined && fileType !== null) { - const f = fileType.toLowerCase(); - if (f == "diffusers") { return "diffusers"; } // TODO: is this correct? - } - - if (modelType !== undefined && modelType !== null) { - const m = modelType.toLowerCase(); - // TODO: somehow allow for SERVER to set dir? - // TODO: allow user to choose EXISTING folder override/null? (style_models, HuggingFace) (use an object/map instead so settings can be dynamically set) - if (m == "aestheticGradient") { return null; } - else if (m == "checkpoint" || m == "checkpoints") { return "checkpoints"; } - //else if (m == "") { return "clip"; } - //else if (m == "") { return "clip_vision"; } - else if (m == "controlnet") { return "controlnet"; } - //else if (m == "Controlnet") { return "style_models"; } // are these controlnets? (TI-Adapter) - //else if (m == "") { return "gligen"; } - else if (m == "hypernetwork" || m == "hypernetworks") { return "hypernetworks"; } - else if (m == "lora" || m == "loras") { return "loras"; } - else if (m == "locon") { return "loras"; } - else if (m == "motionmodule") { return null; } - else if (m == "other") { return null; } - else if (m == "pose") { return null; } - else if (m == "textualinversion" || m == "embedding" || m == "embeddings") { return "embeddings"; } - //else if (m == "") { return "unet"; } - else if (m == "upscaler" || m == "upscale_model" || m == "upscale_models") { return "upscale_models"; } - else if (m == "vae") { return "vae"; } - else if (m == "wildcard" || m == "wildcards") { return null; } - else if (m == "workflow" || m == "workflows") { return null; } - } - return null; +function debounce(callback, delay) { + let timeoutId = null; + return (...args) => { + window.clearTimeout(timeoutId); + timeoutId = window.setTimeout(() => { + callback(...args); + }, delay); + }; } /** - * Get model info from Civitai. - * - * @param {string} id - Model ID. - * @param {string} apiPath - Civitai request subdirectory. "models" for 'model' urls. "model-version" for 'api' urls. - * - * @returns {Promise} Dictionary containing recieved model info. Returns an empty if fails. + * @param {HTMLButtonElement} element + * @param {boolean} success + * @param {string} [successText=""] + * @param {string} [failureText=""] + * @param {string} [resetText=""] */ -async function civitai_requestInfo(id, apiPath) { - const url = "https://civitai.com/api/v1/" + apiPath + "/" + id; - try { - return await request(url); +function buttonAlert(element, success, successText = "", failureText = "", resetText = "") { + if (element === undefined || element === null) { + return; } - catch (error) { - console.error("Failed to get model info from Civitai!", error); - return {}; + const name = success ? "button-success" : "button-failure"; + element.classList.add(name); + if (successText != "" && failureText != "") { + element.innerHTML = success ? successText : failureText; } + // TODO: debounce would be nice to get working... + window.setTimeout((element, name, innerHTML) => { + element.classList.remove(name); + if (innerHTML != "") { + element.innerHTML = innerHTML; + } + }, 1000, element, name, resetText); } -/** - * Extract file information from the given model version infomation. - * - * @param {Object} modelVersionInfo - Model version infomation. - * @param {(string|null)} [type=null] - Optional select by model type. - * @param {(string|null)} [fp=null] - Optional select by floating point quantization. - * @param {(string|null)} [size=null] - Optional select by sizing. - * @param {(string|null)} [format=null] - Optional select by file format. - * - * @returns {Object} - Extracted list of infomation on each file of the given model version. - */ -function civitai_getModelFilesInfo(modelVersionInfo, type = null, fp = null, size = null, format = null) { - const files = []; - const modelVersionFiles = modelVersionInfo["files"]; - for (let i = 0; i < modelVersionFiles.length; i++) { - const modelVersionFile = modelVersionFiles[i]; +class Tabs { + /** @type {Record} */ + #head = {}; + /** @type {Record} */ + #body = {}; + + /** + * @param {HTMLDivElement[]} tabs + */ + constructor(tabs) { + const head = []; + const body = []; - const fileType = modelVersionFile["type"]; - if (type instanceof String && type != fileType) { continue; } + tabs.forEach((el, index) => { + const name = el.getAttribute("data-name"); + + /** @type {HTMLDivElement} */ + const tag = $el( + "div.head-item", + { onclick: () => this.active(name) }, + [name] + ); + + if (index === 0) { + this.#active = name; + } + + this.#head[name] = tag; + head.push(tag); + this.#body[name] = el; + body.push(el); + }); - const fileMeta = modelVersionFile["metadata"]; + this.element = $el("div.comfy-tabs", [ + $el("div.comfy-tabs-head", head), + $el("div.comfy-tabs-body", body), + ]); - const fileFp = fileMeta["fp"]; - if (fp instanceof String && fp != fileFp) { continue; } - - const fileSize = fileMeta["size"]; - if (size instanceof String && size != fileSize) { continue; } - - const fileFormat = fileMeta["format"]; - if (format instanceof String && format != fileFormat) { continue; } - - files.push({ - "downloadUrl": modelVersionFile["downloadUrl"], - "format": fileFormat, - "fp": fileFp, - "hashes": modelVersionFile["hashes"], - "name": modelVersionFile["name"], - "size": fileSize, - "sizeKB": modelVersionFile["sizeKB"], - "type": fileType, + this.active(this.#active); + } + + #active = undefined; + + /** + * @param {string} name + */ + active(name) { + this.#active = name; + Object.keys(this.#head).forEach((key) => { + if (name === key) { + this.#head[key].classList.add("active"); + this.#body[key].style.display = ""; + } else { + this.#head[key].classList.remove("active"); + this.#body[key].style.display = "none"; + } }); } - return { - "files": files, - "id": modelVersionInfo["id"], - "images": modelVersionInfo["images"].map((image) => { - // TODO: do I need to double-check image matches resource? - return image["url"]; - }), - "name": modelVersionInfo["name"], - }; } /** - * - * - * @param {string} stringUrl - Model url. - * - * @returns {Promise} - Download information for the given url. + * @param {Record} tabs + * @returns {HTMLDivElement[]} */ -async function civitai_getFilteredInfo(stringUrl) { - const url = new URL(stringUrl); - if (url.hostname != "civitai.com") { return {}; } - if (url.pathname == "/") { return {} } - const urlPath = url.pathname; - if (urlPath.startsWith("/api")) { - const idEnd = urlPath.length - (urlPath.at(-1) == "/" ? 1 : 0); - const idStart = urlPath.lastIndexOf("/", idEnd - 1) + 1; - const modelVersionId = urlPath.substring(idStart, idEnd); - if (parseInt(modelVersionId, 10) == NaN) { - return {}; - } - const modelVersionInfo = await civitai_requestInfo(modelVersionId, "model-versions"); - if (Object.keys(modelVersionInfo).length == 0) { - return {}; - } - const searchParams = url.searchParams; - const filesInfo = civitai_getModelFilesInfo( - modelVersionInfo, - searchParams.get("type"), - searchParams.get("fp"), - searchParams.get("size"), - searchParams.get("format"), +function $tabs(tabs) { + const instance = new Tabs(tabs); + return instance.element; +} + +/** + * @param {string} name + * @param {HTMLDivElement[]} el + * @returns {HTMLDivElement} + */ +function $tab(name, el) { + return $el("div", { dataset: { name } }, el); +} + +/** + * @returns {HTMLLabelElement} + */ +function $checkbox(x = { $: (el) => {}, textContent: "", checked: false }) { + const text = x.textContent; + const input = $el("input", { + type: "checkbox", + checked: x.checked ?? false, + }); + const label = $el("label", [ + input, + text === "" || text === undefined || text === null ? "" : " " + text, + ]); + if (x.$ !== undefined){ + x.$(input); + } + return label; +} + +/** + * @param {Any} attr + * @returns {HTMLDivElement} + */ +function $radioGroup(attr) { + const { name = Date.now(), onchange, options = [], $ } = attr; + + /** @type {HTMLDivElement[]} */ + const radioGroup = options.map((item, index) => { + const inputRef = { value: null }; + + return $el( + "div.comfy-radio", + { onclick: () => inputRef.value.click() }, + [ + $el("input.radio-input", { + type: "radio", + name: name, + value: item.value, + checked: index === 0, + $: (el) => (inputRef.value = el), + }), + $el("label", [item.label ?? item.value]), + ] ); - return { - "name": modelVersionInfo["model"]["name"], - "type": modelVersionInfo["model"]["type"], - "versions": [filesInfo] - } - } - else if (urlPath.startsWith('/models')) { - const idStart = urlPath.indexOf("models/") + "models/".length; - const idEnd = (() => { - const idEnd = urlPath.indexOf("/", idStart); - return idEnd === -1 ? urlPath.length : idEnd; - })(); - const modelId = urlPath.substring(idStart, idEnd); - if (parseInt(modelId, 10) == NaN) { - return {}; - } - const modelInfo = await civitai_requestInfo(modelId, "models"); - if (Object.keys(modelInfo).length == 0) { - return {}; - } - const modelVersionId = parseInt(url.searchParams.get("modelVersionId")); - const modelVersions = []; - const modelVersionInfos = modelInfo["modelVersions"]; - for (let i = 0; i < modelVersionInfos.length; i++) { - const versionInfo = modelVersionInfos[i]; - if (!Number.isNaN(modelVersionId)) { - if (modelVersionId != versionInfo["id"]) {continue; } - } - const filesInfo = civitai_getModelFilesInfo(versionInfo); - modelVersions.push(filesInfo); - } - return { - "name": modelInfo["name"], - "type": modelInfo["type"], - "versions": modelVersions - } - } - else { - return {}; - } -} - -/** - * Get model info from Huggingface. - * - * @param {string} id - Model ID. - * @param {string} apiPath - API path. - * - * @returns {Promise} Dictionary containing recieved model info. Returns an empty if fails. - */ -async function huggingFace_requestInfo(id, apiPath = "models") { - const url = "https://huggingface.co/api/" + apiPath + "/" + id; - try { - return await request(url); - } - catch (error) { - console.error("Failed to get model info from HuggingFace!", error); - return {}; - } -} - -/** - * - * - * @param {string} stringUrl - Model url. - * - * @returns {Promise} - */ -async function huggingFace_getFilteredInfo(stringUrl) { - const url = new URL(stringUrl); - if (url.hostname != "huggingface.co") { return {}; } - if (url.pathname == "/") { return {} } - const urlPath = url.pathname; - const i0 = 1; - const i1 = urlPath.indexOf("/", i0); - if (i1 == -1 || urlPath.length - 1 == i1) { - // user-name only - return {}; - } - let i2 = urlPath.indexOf("/", i1 + 1); - if (i2 == -1) { - // model id only - i2 = urlPath.length; - } - const modelId = urlPath.substring(i0, i2); - const urlPathEnd = urlPath.substring(i2); - - const isValidBranch = ( - urlPathEnd.startsWith("/resolve") || - urlPathEnd.startsWith("/blob") || - urlPathEnd.startsWith("/tree") - ); - - let branch = "/main"; - let filePath = ""; - if (isValidBranch) { - const i0 = branch.length; - const i1 = urlPathEnd.indexOf("/", i0 + 1); - if (i1 == -1) { - if (i0 != urlPathEnd.length) { - // ends with branch - branch = urlPathEnd.substring(i0); - } - } - else { - branch = urlPathEnd.substring(i0, i1); - if (urlPathEnd.length - 1 > i1) { - filePath = urlPathEnd.substring(i1); - } - } - } - - const modelInfo = await huggingFace_requestInfo(modelId); - //const modelInfo = await requestInfo(modelId + "/tree" + branch); // this only gives you the files at the given branch path... - // oid: SHA-1?, lfs.oid: SHA-256 - - const clippedFilePath = filePath.substring(filePath[0] === "/" ? 1 : 0); - const modelFiles = modelInfo["siblings"].filter((sib) => { - const filename = sib["rfilename"]; - for (let i = 0; i < MODEL_EXTENSIONS.length; i++) { - if (filename.endsWith(MODEL_EXTENSIONS[i])) { - return filename.startsWith(clippedFilePath); - } - } - return false; - }).map((sib) => { - const filename = sib["rfilename"]; - return filename; - }); - if (modelFiles.length === 0) { - return {}; - } - - const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch; - - const images = modelInfo["siblings"].filter((sib) => { - const filename = sib["rfilename"]; - for (let i = 0; i < IMAGE_EXTENSIONS.length; i++) { - if (filename.endsWith(IMAGE_EXTENSIONS[i])) { - return filename.startsWith(clippedFilePath); - } - } - return false; - }).map((sib) => { - return baseDownloadUrl + "/" + sib["rfilename"]; }); - return { - "baseDownloadUrl": baseDownloadUrl, - "modelFiles": modelFiles, - "images": images, + const element = $el("input", { value: options[0]?.value }); + $?.(element); + + radioGroup.forEach((radio) => { + radio.addEventListener("change", (event) => { + const selectedValue = event.target.value; + element.value = selectedValue; + onchange?.(selectedValue); + }); + }); + + return $el("div.comfy-radio-group", radioGroup); +} + +class ImageSelect { + /** @constant {string} */ #PREVIEW_DEFAULT = "Default"; + /** @constant {string} */ #PREVIEW_UPLOAD = "Upload"; + /** @constant {string} */ #PREVIEW_URL = "URL"; + /** @constant {string} */ #PREVIEW_NONE = "No Preview"; + + elements = { + /** @type {HTMLDivElement} */ radioGroup: null, + /** @type {HTMLDivElement} */ radioButtons: null, + /** @type {HTMLDivElement} */ previews: null, + + /** @type {HTMLImageElement} */ defaultPreviewNoImage: null, + /** @type {HTMLDivElement} */ defaultPreviews: null, + /** @type {HTMLDivElement} */ defaultUrl: null, + + /** @type {HTMLImageElement} */ customUrlPreview: null, + /** @type {HTMLInputElement} */ customUrl: null, + /** @type {HTMLDivElement} */ custom: null, + + /** @type {HTMLImageElement} */ uploadPreview: null, + /** @type {HTMLInputElement} */ uploadFile: null, + /** @type {HTMLDivElement} */ upload: null, }; + + /** @type {string} */ + #name = null; + + /** @returns {string|File} */ + getImage() { + const name = this.#name; + const value = document.querySelector(`input[name="${name}"]:checked`).value; + const elements = this.elements; + switch (value) { + case this.#PREVIEW_DEFAULT: + const children = elements.defaultPreviews.children; + const noImage = imageUri(); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.style.display !== "none" && + child.nodeName === "IMG" && + !child.src.endsWith(noImage) + ) { + return child.src; + } + } + return ""; + case this.#PREVIEW_URL: + return elements.customUrl.value; + case this.#PREVIEW_UPLOAD: + return elements.uploadFile.files[0] ?? ""; + case this.#PREVIEW_NONE: + return imageUri(); + } + return ""; + } + + /** @returns {void} */ + resetModelInfoPreview() { + let noimage = this.elements.defaultUrl.dataset.noimage; + [ + this.elements.defaultPreviewNoImage, + this.elements.defaultPreviews, + this.elements.customUrlPreview, + this.elements.uploadPreview, + ].forEach((el) => { + el.style.display = "none"; + if (this.elements.defaultPreviewNoImage !== el) { + if (el.nodeName === "IMG") { + el.src = noimage; + } + else { + el.children[0].src = noimage; + } + } + else { + el.src = imageUri(); + } + }); + this.checkDefault(); + this.elements.uploadFile.value = ""; + this.elements.customUrl.value = ""; + this.elements.upload.style.display = "none"; + this.elements.custom.style.display = "none"; + } + + /** @returns {boolean} */ + defaultIsChecked() { + const children = this.elements.radioButtons.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === this.#PREVIEW_DEFAULT) { + return radioButton.checked; + } + }; + return false; + } + + /** @returns {void} */ + checkDefault() { + const children = this.elements.radioButtons.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === this.#PREVIEW_DEFAULT) { + this.elements.defaultPreviews.style.display = "block"; + radioButton.checked = true; + break; + } + }; + } + + /** + * @param {1 | -1} step + */ + stepDefaultPreviews(step) { + const children = this.elements.defaultPreviews.children; + if (children.length === 0) { + return; + } + let currentIndex = -step; + for (let i = 0; i < children.length; i++) { + const previewImage = children[i]; + const display = previewImage.style.display; + if (display !== "none") { + currentIndex = i; + } + previewImage.style.display = "none"; + } + currentIndex = currentIndex + step; + if (currentIndex >= children.length) { currentIndex = 0; } + else if (currentIndex < 0) { currentIndex = children.length - 1; } + children[currentIndex].style.display = "block"; + } + + /** + * @param {string} radioGroupName - Should be unique for every radio group. + * @param {string[]|undefined} defaultPreviews + */ + constructor(radioGroupName, defaultPreviews = []) { + if (defaultPreviews === undefined | defaultPreviews === null | defaultPreviews.length === 0) { + defaultPreviews = [imageUri()]; + } + this.#name = radioGroupName; + + const el_defaultUri = $el("div", { + $: (el) => (this.elements.defaultUrl = el), + style: { display: "none" }, + "data-noimage": imageUri(), + }); + + const el_defaultPreviewNoImage = $el("img", { + $: (el) => (this.elements.defaultPreviewNoImage = el), + src: imageUri(), + style: { display: "none" }, + loading: "lazy", + }); + + const el_defaultPreviews = $el("div", { + $: (el) => (this.elements.defaultPreviews = el), + style: { + width: "100%", + height: "100%", + }, + }, (() => { + const imgs = defaultPreviews.map((url) => { + return $el("img", { + src: url, + style: { display: "none" }, + loading: "lazy", + onerror: (e) => { + e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); + }, + }); + }); + if (imgs.length > 0) { + imgs[0].style.display = "block"; + } + return imgs; + })()); + + const el_uploadPreview = $el("img", { + $: (el) => (this.elements.uploadPreview = el), + src: imageUri(), + style: { display : "none" }, + onerror: (e) => { + e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); + }, + }); + const el_uploadFile = $el("input", { + $: (el) => (this.elements.uploadFile = el), + type: "file", + accept: IMAGE_EXTENSIONS.join(", "), + onchange: (e) => { + const file = e.target.files[0]; + if (file) { + el_uploadPreview.src = URL.createObjectURL(file); + } + else { + el_uploadPreview.src = el_defaultUri.dataset.noimage; + } + }, + }); + const el_upload = $el("div", { + $: (el) => (this.elements.upload = el), + style: { display: "none" }, + }, [ + el_uploadFile, + ]); + + const el_customUrlPreview = $el("img", { + $: (el) => (this.elements.customUrlPreview = el), + src: imageUri(), + style: { display: "none" }, + onerror: (e) => { + e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); + }, + }); + const el_customUrl = $el("input.search-text-area", { + $: (el) => (this.elements.customUrl = el), + type: "text", + placeholder: "https://custom-image-preview.png", + }); + const el_custom = $el("div.row.tab-header-flex-block", { + $: (el) => (this.elements.custom = el), + style: { display: "none" }, + }, [ + el_customUrl, + $el("button.icon-button", { + textContent: "🔍︎", + onclick: (e) => { + el_customUrlPreview.src = el_customUrl.value; + }, + }), + ]); + + const el_previewButtons = $el("div.model-preview-overlay", { + style: { + display: el_defaultPreviews.children.length > 1 ? "block" : "none", + }, + }, [ + $el("button.icon-button.model-preview-button-left", { + textContent: "←", + onclick: () => this.stepDefaultPreviews(-1), + }), + $el("button.icon-button.model-preview-button-right", { + textContent: "→", + onclick: () => this.stepDefaultPreviews(1), + }), + ]); + const el_previews = $el("div.item", { + $: (el) => (this.elements.previews = el), + }, [ + $el("div", { + style: { + "width": "100%", + "height": "100%", + }, + }, + [ + el_defaultPreviewNoImage, + el_defaultPreviews, + el_customUrlPreview, + el_uploadPreview, + ], + ), + el_previewButtons, + ]); + + const el_radioButtons = $radioGroup({ + name: radioGroupName, + onchange: (value) => { + el_custom.style.display = "none"; + el_upload.style.display = "none"; + + el_defaultPreviews.style.display = "none"; + el_previewButtons.style.display = "none"; + + el_defaultPreviewNoImage.style.display = "none"; + el_uploadPreview.style.display = "none"; + el_customUrlPreview.style.display = "none"; + + switch (value) { + case this.#PREVIEW_DEFAULT: + el_defaultPreviews.style.display = "block"; + el_previewButtons.style.display = el_defaultPreviews.children.length > 1 ? "block" : "none"; + break; + case this.#PREVIEW_UPLOAD: + el_upload.style.display = "flex"; + el_uploadPreview.style.display = "block"; + break; + case this.#PREVIEW_URL: + el_custom.style.display = "flex"; + el_customUrlPreview.style.display = "block"; + break; + case this.#PREVIEW_NONE: + default: + el_defaultPreviewNoImage.style.display = "block"; + break; + } + }, + options: (() => { + const radios = []; + radios.push({ value: this.#PREVIEW_DEFAULT }); + radios.push({ value: this.#PREVIEW_UPLOAD }) + radios.push({ value: this.#PREVIEW_URL }); + radios.push({ value: this.#PREVIEW_NONE }); + return radios; + })(), + }); + this.elements.radioButtons = el_radioButtons; + + const children = el_radioButtons.children; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + const radioButton = child.children[0]; + if (radioButton.value === this.#PREVIEW_DEFAULT) { + radioButton.checked = true; + break; + } + }; + + const el_radioGroup = $el("div.model-preview-select-radio-container", { + $: (el) => (this.elements.radioGroup = el), + }, [ + $el("div.row.tab-header-flex-block", [el_radioButtons]), + $el("div", [ + el_custom, + el_upload, + ]), + ]); + } } /** @@ -379,31 +606,33 @@ async function huggingFace_getFilteredInfo(stringUrl) { * @param {number | undefined} childIndex */ +const DROPDOWN_DIRECTORY_SELECTION_CLASS = "search-dropdown-selected"; + class DirectoryDropdown { /** @type {HTMLDivElement} */ - element = undefined; + element = null; /** @type {Boolean} */ showDirectoriesOnly = false; - + /** @type {HTMLInputElement} */ - #input = undefined; + #input = null; // TODO: remove this - /** @type {Function} */ + /** @type {() => void} */ #updateDropdown = null; - /** @type {Function} */ + /** @type {() => void} */ #updateCallback = null; - /** @type {Function} */ + /** @type {() => Promise} */ #submitCallback = null; /** * @param {HTMLInputElement} input - * @param {Function} updateDropdown - * @param {Function} [updateCallback= () => {}] - * @param {Function} [submitCallback= () => {}] + * @param {() => void} updateDropdown + * @param {() => void} [updateCallback= () => {}] + * @param {() => Promise} [submitCallback= () => {}] * @param {String} [searchSeparator="/"] * @param {Boolean} [showDirectoriesOnly=false] */ @@ -566,7 +795,7 @@ class DirectoryDropdown { }, ); } - + /** * @param {HTMLInputElement} input * @param {HTMLParagraphElement | undefined | null} selection @@ -580,7 +809,7 @@ class DirectoryDropdown { const previousPath = oldFilterText.substring(0, iSep + 1); input.value = previousPath + selectedText; } - + /** * @param {DirectoryItem[]} directories * @param {string} searchSeparator @@ -740,196 +969,34 @@ class DirectoryDropdown { } } -/** - * @param {string} nodeType - * @returns {int} - */ -function modelWidgetIndex(nodeType) { - return 0; -} - -/** - * @param {string} path - * @returns {[string, string]} - */ -function searchPath_split(path) { - const i = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1; - return [path.slice(0, i), path.slice(i)]; -} - -/** - * @param {string} path - * @param {string[]} extensions - * @returns {[string, string]} - */ -function searchPath_splitExtension(path) { - const i = path.lastIndexOf("."); - if (i === -1) { - return [path, ""]; - } - return [path.slice(0, i), path.slice(i)]; -} - -/** - * @param {string} path - * @returns {string} - */ -function searchPathToSystemPath(path, searchSeparator, systemSeparator) { - const i1 = path.indexOf(searchSeparator, 1); - const i2 = path.indexOf(searchSeparator, i1 + 1); - return path.slice(i2 + 1).replaceAll(searchSeparator, systemSeparator); -} - -/** - * @param {string} file - * @returns {string | undefined} - */ -function removeModelExtension(file) { - // This is a bit sloppy (can assume server sends without) - const i = file.lastIndexOf("."); - if (i != -1) { - return file.substring(0, i); - } -} - -/** - * @param {string} text - * @param {string} file - * @param {boolean} removeExtension - * @returns {string} - */ -function insertEmbeddingIntoText(text, file, removeExtension) { - let name = file; - if (removeExtension) { - name = removeModelExtension(name) - } - const sep = text.length === 0 || text.slice(-1).match(/\s/) ? "" : " "; - return text + sep + "(embedding:" + name + ":1.0)"; -} - -/** - * @param {HTMLButtonElement} element - * @param {boolean} success - * @param {string} [successText=""] - * @param {string} [failureText=""] - * @param {string} [resetText=""] - */ -function buttonAlert(element, success, successText = "", failureText = "", resetText = "") { - if (element === undefined || element === null) { - return; - } - const name = success ? "button-success" : "button-failure"; - element.classList.add(name); - if (successText != "" && failureText != "") { - element.innerHTML = success ? successText : failureText; - } - // TODO: debounce would be nice to get working... - window.setTimeout((element, name, innerHTML) => { - element.classList.remove(name); - if (innerHTML != "") { - element.innerHTML = innerHTML; - } - }, 1000, element, name, resetText); -} - -class Tabs { - /** @type {Record} */ - #head = {}; - /** @type {Record} */ - #body = {}; - - /** - * @param {HTMLDivElement[]} tabs - */ - constructor(tabs) { - const head = []; - const body = []; - - tabs.forEach((el, index) => { - const name = el.getAttribute("data-name"); - - /** @type {HTMLDivElement} */ - const tag = $el( - "div.head-item", - { onclick: () => this.active(name) }, - [name] - ); - - if (index === 0) { - this.#active = name; - } - - this.#head[name] = tag; - head.push(tag); - this.#body[name] = el; - body.push(el); - }); - - this.element = $el("div.comfy-tabs", [ - $el("div.comfy-tabs-head", head), - $el("div.comfy-tabs-body", body), - ]); - - this.active(this.#active); - } - - #active = undefined; - - /** - * @param {string} name - */ - active(name) { - this.#active = name; - Object.keys(this.#head).forEach((key) => { - if (name === key) { - this.#head[key].classList.add("active"); - this.#body[key].style.display = ""; - } else { - this.#head[key].classList.remove("active"); - this.#body[key].style.display = "none"; - } - }); - } -} - -/** - * @param {Record} tabs - * @returns {HTMLDivElement[]} - */ -function $tabs(tabs) { - const instance = new Tabs(tabs); - return instance.element; -} - -/** - * @param {string} name - * @param {HTMLDivElement[]} el - * @returns {HTMLDivElement} - */ -function $tab(name, el) { - return $el("div", { dataset: { name } }, el); -} - -/** - * @returns {HTMLLabelElement} - */ -function $checkbox(x = { $: (el) => {}, textContent: "", checked: false }) { - const text = x.textContent; - const input = $el("input", { - type: "checkbox", - checked: x.checked ?? false, - }); - const label = $el("label", [ - input, - text === "" || text === undefined || text === null ? "" : " " + text, - ]); - if (x.$ !== undefined){ - x.$(input); - } - return label; -} +const MODEL_SORT_DATE_CREATED = "dateCreated"; +const MODEL_SORT_DATE_MODIFIED = "dateModified"; +const MODEL_SORT_DATE_NAME = "name"; class ModelGrid { + /** + * @param {string} nodeType + * @returns {int} + */ + static modelWidgetIndex(nodeType) { + return 0; + } + + /** + * @param {string} text + * @param {string} file + * @param {boolean} removeExtension + * @returns {string} + */ + static insertEmbeddingIntoText(text, file, removeExtension) { + let name = file; + if (removeExtension) { + name = SearchPath.splitExtension(name)[0]; + } + const sep = text.length === 0 || text.slice(-1).match(/\s/) ? "" : " "; + return text + sep + "(embedding:" + name + ":1.0)"; + } + /** * @param {Array} list * @param {string} searchString @@ -974,7 +1041,7 @@ class ModelGrid { * @returns {Array} */ static #sort(list, sortBy, reverse = false) { - let compareFn = undefined; + let compareFn = null; switch (sortBy) { case MODEL_SORT_DATE_NAME: compareFn = (a, b) => { return a[MODEL_SORT_DATE_NAME].localeCompare(b[MODEL_SORT_DATE_NAME]); }; @@ -992,7 +1059,7 @@ class ModelGrid { const sorted = list.sort(compareFn); return reverse ? sorted.reverse() : sorted; } - + /** * @param {Event} event * @param {string} modelType @@ -1004,7 +1071,7 @@ class ModelGrid { let success = false; if (modelType !== "embeddings") { const nodeType = modelNodeType[modelType]; - const widgetIndex = modelWidgetIndex(nodeType); + const widgetIndex = ModelGrid.modelWidgetIndex(nodeType); let node = LiteGraph.createNode(nodeType, null, []); if (node) { node.widgets[widgetIndex].value = path; @@ -1029,15 +1096,15 @@ class ModelGrid { event.stopPropagation(); } else if (modelType === "embeddings") { - const [embeddingDirectory, embeddingFile] = searchPath_split(path); + const [embeddingDirectory, embeddingFile] = SearchPath.split(path); const selectedNodes = app.canvas.selected_nodes; for (var i in selectedNodes) { const selectedNode = selectedNodes[i]; const nodeType = modelNodeType[modelType]; - const widgetIndex = modelWidgetIndex(nodeType); + const widgetIndex = ModelGrid.modelWidgetIndex(nodeType); const target = selectedNode.widgets[widgetIndex].element; if (target && target.type === "textarea") { - target.value = insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); + target.value = ModelGrid.insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); success = true; } } @@ -1048,7 +1115,7 @@ class ModelGrid { } buttonAlert(event.target, success, "✔", "✖", "✚"); } - + /** * @param {Event} event * @param {string} modelType @@ -1060,7 +1127,7 @@ class ModelGrid { const target = document.elementFromPoint(event.x, event.y); if (modelType !== "embeddings" && target.id === "graph-canvas") { const nodeType = modelNodeType[modelType]; - const widgetIndex = modelWidgetIndex(nodeType); + const widgetIndex = ModelGrid.modelWidgetIndex(nodeType); const pos = app.canvas.convertEventToCanvasOffset(event); const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); @@ -1092,13 +1159,13 @@ class ModelGrid { const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1], app.canvas.visible_nodes); if (nodeAtPos) { app.canvas.selectNode(nodeAtPos); - const [embeddingDirectory, embeddingFile] = searchPath_split(path); - target.value = insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); + const [embeddingDirectory, embeddingFile] = SearchPath.split(path); + target.value = ModelGrid.insertEmbeddingIntoText(target.value, embeddingFile, removeEmbeddingExtension); event.stopPropagation(); } } } - + /** * @param {Event} event * @param {string} modelType @@ -1110,8 +1177,8 @@ class ModelGrid { let success = false; if (nodeType === "Embedding") { if (navigator.clipboard){ - const [embeddingDirectory, embeddingFile] = searchPath_split(path); - const embeddingText = insertEmbeddingIntoText("", embeddingFile, removeEmbeddingExtension); + const [embeddingDirectory, embeddingFile] = SearchPath.split(path); + const embeddingText = ModelGrid.insertEmbeddingIntoText("", embeddingFile, removeEmbeddingExtension); navigator.clipboard.writeText(embeddingText); success = true; } @@ -1121,7 +1188,7 @@ class ModelGrid { } else if (nodeType) { const node = LiteGraph.createNode(nodeType, null, []); - const widgetIndex = modelWidgetIndex(nodeType); + const widgetIndex = ModelGrid.modelWidgetIndex(nodeType); node.widgets[widgetIndex].value = path; app.canvas.copyToClipboard([node]); success = true; @@ -1131,14 +1198,14 @@ class ModelGrid { } buttonAlert(event.target, success, "✔", "✖", "⧉︎"); } - + /** * @param {Array} models * @param {string} modelType * @param {Object.} settingsElements * @param {String} searchSeparator * @param {String} systemSeparator - * @param {Function} modelInfoCallback + * @param {(searchPath: string) => Promise} modelInfoCallback * @returns {HTMLElement[]} */ static #generateInnerHtml(models, modelType, settingsElements, searchSeparator, systemSeparator, modelInfoCallback) { @@ -1155,7 +1222,7 @@ class ModelGrid { return models.map((item) => { const previewInfo = item.preview; const searchPath = item.path; - const path = searchPathToSystemPath(searchPath, searchSeparator, systemSeparator); + const path = SearchPath.systemPath(searchPath, searchSeparator, systemSeparator); let buttons = []; if (showAddButton) { buttons.push( @@ -1223,7 +1290,7 @@ class ModelGrid { ondragend: (e) => dragAdd(e), draggable: true, }, [ - $el("p", [showModelExtension ? item.name : removeModelExtension(item.name)]) + $el("p", [showModelExtension ? item.name : SearchPath.splitExtension(item.name)[0]]) ]), ]); }); @@ -1231,7 +1298,7 @@ class ModelGrid { return [$el("h2", ["No Models"])]; } } - + /** * @param {HTMLDivElement} modelGrid * @param {Object} models @@ -1244,7 +1311,7 @@ class ModelGrid { * @param {HTMLInputElement} modelFilter * @param {String} searchSeparator * @param {String} systemSeparator - * @param {Function} modelInfoCallback + * @param {(searchPath: string) => Promise} modelInfoCallback */ static update(modelGrid, models, modelSelect, previousModelType, settings, sortBy, reverseSort, previousModelFilters, modelFilter, searchSeparator, systemSeparator, modelInfoCallback) { let modelType = modelSelect.value; @@ -1292,436 +1359,58 @@ class ModelGrid { } } -/** - * @param {Any} attr - * @returns {HTMLDivElement} - */ -function $radioGroup(attr) { - const { name = Date.now(), onchange, options = [], $ } = attr; - - /** @type {HTMLDivElement[]} */ - const radioGroup = options.map((item, index) => { - const inputRef = { value: null }; - - return $el( - "div.comfy-radio", - { onclick: () => inputRef.value.click() }, - [ - $el("input.radio-input", { - type: "radio", - name: name, - value: item.value, - checked: index === 0, - $: (el) => (inputRef.value = el), - }), - $el("label", [item.label ?? item.value]), - ] - ); - }); - - const element = $el("input", { value: options[0]?.value }); - $?.(element); - - radioGroup.forEach((radio) => { - radio.addEventListener("change", (event) => { - const selectedValue = event.target.value; - element.value = selectedValue; - onchange?.(selectedValue); - }); - }); - - return $el("div.comfy-radio-group", radioGroup); -} - -/** - * @param {HTMLDivElement} previewImageContainer - * @param {Event} e - * @param {1 | -1} step - */ -function updateRadioPreview(previewImageContainer, step) { - const children = previewImageContainer.children; - if (children.length === 0) { - return; - } - let currentIndex = -step; - for (let i = 0; i < children.length; i++) { - const previewImage = children[i]; - const display = previewImage.style.display; - if (display !== "none") { - currentIndex = i; - } - previewImage.style.display = "none"; - } - currentIndex = currentIndex + step; - if (currentIndex >= children.length) { currentIndex = 0; } - else if (currentIndex < 0) { currentIndex = children.length - 1; } - children[currentIndex].style.display = "block"; -} - -/** - * @param {String} uniqueName - * @param {String[]} defaultPreviews - * @returns {[]} - */ -function radioGroupImageSelect(uniqueName, defaultPreviews) { - const defaultImageCount = defaultPreviews.length; +class ModelInfoView { + /** @type {HTMLDivElement} */ + element = null; - const el_defaultUri = $el("div", { - style: { display: "none" }, - "data-noimage": imageUri(), - }); - - const el_noImage = $el("img", { - src: imageUri(), - style: { - display: defaultImageCount === 0 ? "block" : "none", - }, - loading: "lazy", - }); - - const el_defaultImages = $el("div", { - style: { - width: "100%", - height: "100%", - }, - }, (() => { - const imgs = defaultPreviews.map((url) => { - return $el("img", { - src: url, - style: { display: "none" }, - loading: "lazy", - onerror: (e) => { - e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); - }, - }); - }); - if (imgs.length > 0) { - imgs[0].style.display = "block"; - } - return imgs; - })()); - - const el_uploadImage = $el("img", { - src: imageUri(), - style: { display : "none" }, - onerror: (e) => { - e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); - }, - }); - const el_uploadFile = $el("input", { - type: "file", - accept: IMAGE_EXTENSIONS.join(", "), - onchange: (e) => { - const file = e.target.files[0]; - if (file) { - el_uploadImage.src = URL.createObjectURL(file); - } - else { - el_uploadImage.src = el_defaultUri.dataset.noimage; - } - }, - }); - const el_upload = $el("div", { - style: { display: "none" }, - }, [ - el_uploadFile, - ]); - - const el_urlImage = $el("img", { - src: imageUri(), - style: { display: "none" }, - onerror: (e) => { - e.target.src = el_defaultUri.dataset.noimage ?? imageUri(); - }, - }); - const el_customUrl = $el("input.search-text-area", { - type: "text", - placeholder: "https://custom-image-preview.png", - }); - const el_custom = $el("div.row.tab-header-flex-block", { - style: { display: "none" }, - }, [ - el_customUrl, - $el("button.icon-button", { - textContent: "🔍︎", - onclick: (e) => { - el_urlImage.src = el_customUrl.value; - }, - }), - ]); - - const el_previewButtons = $el("div.model-preview-overlay", { - style: { - display: el_defaultImages.children.length > 1 ? "block" : "none", - }, - }, [ - $el("button.icon-button.model-preview-button-left", { - textContent: "←", - onclick: () => updateRadioPreview(el_defaultImages, -1), - }), - $el("button.icon-button.model-preview-button-right", { - textContent: "→", - onclick: () => updateRadioPreview(el_defaultImages, 1), - }), - ]); - const previews = [ - el_noImage, - el_defaultImages, - el_urlImage, - el_uploadImage, - ]; - const el_preview = $el("div.item", [ - $el("div", { - style: { - "width": "100%", - "height": "100%", - }, - }, - previews, - ), - el_previewButtons, - ]); - - const PREVIEW_DEFAULT = "Default"; - const PREVIEW_UPLOAD = "Upload"; - const PREVIEW_URL = "URL"; - const PREVIEW_NONE = "No Preview"; - - const el_radioButtons = $radioGroup({ - name: uniqueName, - onchange: (value) => { - el_custom.style.display = "none"; - el_upload.style.display = "none"; - - el_defaultImages.style.display = "none"; - el_previewButtons.style.display = "none"; - - el_noImage.style.display = "none"; - el_uploadImage.style.display = "none"; - el_urlImage.style.display = "none"; - - switch (value) { - case PREVIEW_DEFAULT: - el_defaultImages.style.display = "block"; - el_previewButtons.style.display = el_defaultImages.children.length > 1 ? "block" : "none"; - break; - case PREVIEW_UPLOAD: - el_upload.style.display = "flex"; - el_uploadImage.style.display = "block"; - break; - case PREVIEW_URL: - el_custom.style.display = "flex"; - el_urlImage.style.display = "block"; - break; - case PREVIEW_NONE: - default: - el_noImage.style.display = "block"; - break; - } - }, - options: (() => { - const radios = []; - if (defaultImageCount > 0) { - radios.push({ value: PREVIEW_DEFAULT }); - } - radios.push({ value: PREVIEW_UPLOAD }) - radios.push({ value: PREVIEW_URL }); - radios.push({ value: PREVIEW_NONE }); - return radios; - })(), - }); - - const defaultIsChecked = () => { - const children = el_radioButtons.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - const radioButton = child.children[0]; - if (radioButton.value === PREVIEW_DEFAULT) { - return radioButton.checked; - } - }; - return false; - } - - if (defaultImageCount > 0) { - const children = el_radioButtons.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - const radioButton = child.children[0]; - if (radioButton.value === PREVIEW_DEFAULT) { - radioButton.checked = true; - break; - } - }; - } - - const resetModelInfoPreview = () => { - let noimage = el_defaultUri.dataset.noimage; - previews.forEach((el) => { - el.style.display = "none"; - if (el_noImage !== el) { - if (el.nodeName === "IMG") { - el.src = noimage; - } - else { - el.children[0].src = noimage; - } - } - else { - el.src = imageUri(); - } - }); - const children = el_radioButtons.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - const radioButton = child.children[0]; - if (radioButton.value === PREVIEW_DEFAULT) { - el_defaultImages.style.display = "block"; - radioButton.checked = true; - break; - } - }; - el_uploadFile.value = ""; - el_customUrl.value = ""; - el_upload.style.display = "none"; - el_custom.style.display = "none"; + elements = { + /** @type {HTMLDivElement} */ info: null, + /** @type {HTMLButtonElement} */ setPreviewButton: null, }; - const getImage = () => { - const value = document.querySelector(`input[name="${uniqueName}"]:checked`).value; - switch (value) { - case PREVIEW_DEFAULT: - if (defaultImageCount === 0) { - return ""; - } - const children = el_defaultImages.children; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - if (child.style.display !== "none") { - return child.src; - } - } - return ""; - case PREVIEW_URL: - return el_customUrl.value; - case PREVIEW_UPLOAD: - return el_uploadFile.files[0] ?? ""; - case PREVIEW_NONE: - return imageUri(); - } - return ""; - }; + /** @type {ImageSelect} */ + previewSelect = null; - const el_radioGroup = $el("div.model-preview-select-radio-container", [ - $el("div.row.tab-header-flex-block", [el_radioButtons]), - $el("div", [ - el_custom, - el_upload, - ]), - ]); - - // TODO: make this an object? - return [el_radioGroup, el_radioButtons, el_preview, getImage, el_defaultUri, resetModelInfoPreview, defaultIsChecked]; -} - -class ModelManager extends ComfyDialog { - #el = { - /** @type {HTMLDivElement} */ modelInfoView: null, - /** @type {HTMLDivElement} */ modelInfoContainer: null, - /** @type {HTMLDivElement} */ modelInfoUrl: null, - /** @type {HTMLDivElement} */ modelInfoOverwrite: null, - /** @type {HTMLDivElement} */ modelInfos: null, - /** @type {HTMLDivElement} */ modelInfoRadioGroup: null, - /** @type {HTMLDivElement} */ modelInfoPreview: null, - /** @type {HTMLDivElement} */ modelInfoDefaultUri: null, - /** @type {HTMLDivElement} */ setAsPreviewButton: null, - - /** @type {HTMLDivElement} */ modelGrid: null, - /** @type {HTMLSelectElement} */ modelTypeSelect: null, - /** @type {HTMLSelectElement} */ modelSortSelect: null, - /** @type {HTMLInputElement} */ modelContentFilter: null, - - /** @type {HTMLDivElement} */ sidebarButtons: null, - - /** @type {HTMLDivElement} */ settingsTab: null, - /** @type {HTMLButtonElement} */ settings_reloadBtn: null, - /** @type {HTMLButtonElement} */ settings_saveBtn: null, - settings: { - //"sidebar-default-height": null, - //"sidebar-default-width": null, - /** @type {HTMLTextAreaElement} */ "model-search-always-append": null, - /** @type {HTMLInputElement} */ "model-persistent-search": null, - /** @type {HTMLInputElement} */ "model-show-label-extensions": null, - /** @type {HTMLInputElement} */ "model-show-add-button": null, - /** @type {HTMLInputElement} */ "model-show-copy-button": null, - /** @type {HTMLInputElement} */ "model-add-embedding-extension": null, - /** @type {HTMLInputElement} */ "model-add-drag-strict-on-field": null, - /** @type {HTMLInputElement} */ "model-add-offset": null, - } - }; - - #data = { - /** @type {Object} */ models: {}, - /** @type {DirectoryItem[]} */ modelDirectories: [], - /** @type {Array} */ previousModelFilters: [], - /** @type {Object.<{value: string}>} */ previousModelType: { value: undefined }, - }; - - /** @type {string} */ - #searchSeparator = "/"; - - /** @type {string} */ - #systemSeparator = null; - - /** @type {Function} */ - #resetModelInfoPreview = () => {}; - - /** @type {Function} */ - #modelInfoDefaultIsChecked = () => { return false; }; - - constructor() { - super(); - + /** + * @param {DirectoryItem[]} modelDirectories - Should be unique for every radio group. + * @param {() => Promise} updateModels + * @param {string} searchSeparator + */ + constructor(modelDirectories, updateModels, searchSeparator) { const moveDestinationInput = $el("input.search-text-area", { - placeholder: "/", + placeholder: searchSeparator, }); + let searchDropdown = null; searchDropdown = new DirectoryDropdown( moveDestinationInput, () => { searchDropdown.update( - this.#data.modelDirectories, - this.#searchSeparator, + modelDirectories, + searchSeparator, ); }, () => {}, () => {}, - this.#searchSeparator, + searchSeparator, true, ); - const [el_radioGroup, el_radioButtons, el_preview, getImage, el_defaultUri, resetModelInfoPreview, defaultIsChecked] = radioGroupImageSelect( - "model-info-preview-model-FYUIKMNVB", - [imageUri()], - ); - el_preview.style.display = "flex"; - this.#el.modelInfoRadioGroup = el_radioGroup; - this.#el.modelInfoPreview = el_preview; - this.#el.modelInfoDefaultUri = el_defaultUri; - this.#resetModelInfoPreview = resetModelInfoPreview; - this.#modelInfoDefaultIsChecked = defaultIsChecked; + const previewSelect = new ImageSelect("model-info-preview-model-FYUIKMNVB"); + this.previewSelect = previewSelect; + previewSelect.elements.previews.style.display = "flex"; - const setAsPreviewButton = $el("button", { - $: (el) => (this.#el.setAsPreviewButton = el), + const setPreviewButton = $el("button", { + $: (el) => (this.elements.setPreviewButton = el), textContent: "Set as Preview", onclick: async(e) => { const confirmation = window.confirm("Change preview image PERMANENTLY?"); let updatedPreview = false; if (confirmation) { e.target.disabled = true; - const container = this.#el.modelInfoContainer; + const container = this.elements.info; const path = container.dataset.path; - const imageUrl = getImage(); + const imageUrl = previewSelect.getImage(); if (imageUrl === imageUri()) { const encodedPath = encodeURIComponent(path); updatedPreview = await request( @@ -1758,10 +1447,11 @@ class ModelManager extends ComfyDialog { }); } if (updatedPreview) { - this.#modelTab_updateModels(); - this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(); - this.#resetModelInfoPreview(); - this.#el.modelInfoView.style.display = "none"; + updateModels(); + const previewSelect = this.previewSelect; + previewSelect.elements.defaultUrl.dataset.noimage = imageUri(); + previewSelect.resetModelInfoPreview(); + this.element.style.display = "none"; } e.target.disabled = false; @@ -1769,285 +1459,127 @@ class ModelManager extends ComfyDialog { buttonAlert(e.target, updatedPreview); }, }); - - el_radioButtons.addEventListener("change", (e) => { - setAsPreviewButton.style.display = defaultIsChecked() ? "none" : "block"; + previewSelect.elements.radioButtons.addEventListener("change", (e) => { + setPreviewButton.style.display = previewSelect.defaultIsChecked() ? "none" : "block"; }); - this.element = $el( - "div.comfy-modal.model-manager", - { - parent: document.body, - }, - [ - $el("div.comfy-modal-content", [ // TODO: settings.top_bar_left_to_right or settings.top_bar_right_to_left - $el("div.model-info-view", { - $: (el) => (this.#el.modelInfoView = el), - style: { display: "none" }, - }, [ - $el("div.row.tab-header", { - display: "block", - }, [ - $el("div.row.tab-header-flex-block", [ - $el("button.icon-button", { - textContent: "🗑︎", - onclick: async(e) => { - const affirmation = "delete"; - const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY.\n\nThis includes all image or text files."); - let deleted = false; - if (confirmation === affirmation) { - const container = this.#el.modelInfoContainer; - const path = encodeURIComponent(container.dataset.path); - deleted = await request( - `/model-manager/model/delete?path=${path}`, - { - method: "POST", - } - ) - .then((result) => { - const deleted = result["success"]; - if (deleted) - { - container.innerHTML = ""; - this.#el.modelInfoView.style.display = "none"; - this.#modelTab_updateModels(); - } - return deleted; - }) - .catch((err) => { - return false; - }); - } - if (!deleted) { - buttonAlert(e.target, false); - } - }, - }), - $el("div.search-models", [ - moveDestinationInput, - searchDropdown.element, - ]), - $el("button", { - textContent: "Move", - onclick: async(e) => { - const confirmation = window.confirm("Move this file?"); - let moved = false; - if (confirmation) { - const container = this.#el.modelInfoContainer; - const oldFile = container.dataset.path; - const [oldFilePath, oldFileName] = searchPath_split(oldFile); - const newFile = ( - moveDestinationInput.value + - this.#searchSeparator + - oldFileName - ); - moved = await request( - `/model-manager/model/move`, - { - method: "POST", - body: JSON.stringify({ - "oldFile": oldFile, - "newFile": newFile, - }), - } - ) - .then((result) => { - const moved = result["success"]; - if (moved) - { - moveDestinationInput.value = ""; - container.innerHTML = ""; - this.#el.modelInfoView.style.display = "none"; - this.#modelTab_updateModels(); - } - return moved; - }) - .catch(err => { - return false; - }); - } - buttonAlert(e.target, moved); - }, - }), - ]), - ]), - $el("div.model-info-container", { - $: (el) => (this.#el.modelInfoContainer = el), - "data-path": "", - }), - ]), - $el("div.topbar-buttons", - [ - $el("div.sidebar-buttons", - { - $: (el) => (this.#el.sidebarButtons = el), - }, - [ - $el("button.icon-button", { - textContent: "◧", - onclick: (event) => this.#setSidebar(event), - }), - $el("button.icon-button", { - textContent: "⬒", - onclick: (event) => this.#setSidebar(event), - }), - $el("button.icon-button", { - textContent: "⬓", - onclick: (event) => this.#setSidebar(event), - }), - $el("button.icon-button", { - textContent: "◨", - onclick: (event) => this.#setSidebar(event), - }), - ]), - $el("button.icon-button", { - textContent: "✖", - onclick: () => { - const infoView = this.#el.modelInfoView; - if (infoView.style.display === "none") { - this.close(); - } - else { - infoView.style.display = "none"; - } - }, - }), - ] - ), - $tabs([ - $tab("Download", [this.#downloadTab_new()]), - $tab("Models", this.#modelTab_new()), - $tab("Settings", [this.#settingsTab_new()]), - ]), - ]), - ] - ); - - this.#init(); - } - - #init() { - this.#settingsTab_reload(false); - this.#modelTab_updateModels(); - } - - /** @type {DirectoryDropdown} */ - #modelContentFilterDirectoryDropdown = null; - - /** - * @returns {HTMLElement[]} - */ - #modelTab_new() { - /** @type {HTMLDivElement} */ - const modelGrid = $el("div.comfy-grid"); - this.#el.modelGrid = modelGrid; - - const searchInput = $el("input.search-text-area", { - $: (el) => (this.#el.modelContentFilter = el), - placeholder: "example: /0/1.5/styles/clothing -.pt", - }); - - const searchDropdown = new DirectoryDropdown( - searchInput, - this.#modelTab_updateDirectoryDropdown, - this.#modelTab_updatePreviousModelFilter, - this.#modelTab_updateModelGrid, - this.#searchSeparator, - false, - ); - this.#modelContentFilterDirectoryDropdown = searchDropdown; - - return [ - $el("div.row.tab-header", [ + this.element = $el("div.model-info-view", { + style: { display: "none" }, + }, [ + $el("div.row.tab-header", { + display: "block", + }, [ $el("div.row.tab-header-flex-block", [ $el("button.icon-button", { - type: "button", - textContent: "⟳", - onclick: () => this.#modelTab_updateModels(), - }), - $el("select.model-select-dropdown", { - $: (el) => (this.#el.modelTypeSelect = el), - name: "model-type", - onchange: () => this.#modelTab_updateModelGrid(), - }), - $el("select.model-select-dropdown", - { - $: (el) => (this.#el.modelSortSelect = el), - onchange: () => this.#modelTab_updateModelGrid(), + textContent: "🗑︎", + onclick: async(e) => { + const affirmation = "delete"; + const confirmation = window.prompt("Type \"" + affirmation + "\" to delete the model PERMANENTLY.\n\nThis includes all image or text files."); + let deleted = false; + if (confirmation === affirmation) { + const container = this.elements.info; + const path = encodeURIComponent(container.dataset.path); + deleted = await request( + `/model-manager/model/delete?path=${path}`, + { + method: "POST", + } + ) + .then((result) => { + const deleted = result["success"]; + if (deleted) + { + container.innerHTML = ""; + this.element.style.display = "none"; + updateModels(); + } + return deleted; + }) + .catch((err) => { + return false; + }); + } + if (!deleted) { + buttonAlert(e.target, false); + } }, - [ - $el("option", { value: MODEL_SORT_DATE_CREATED }, ["Created (newest to oldest)"]), - $el("option", { value: "-" + MODEL_SORT_DATE_CREATED }, ["Created (oldest to newest)"]), - $el("option", { value: MODEL_SORT_DATE_MODIFIED }, ["Modified (newest to oldest)"]), - $el("option", { value: "-" + MODEL_SORT_DATE_MODIFIED }, ["Modified (oldest to newest)"]), - $el("option", { value: MODEL_SORT_DATE_NAME }, ["Name (A-Z)"]), - $el("option", { value: "-" + MODEL_SORT_DATE_NAME }, ["Name (Z-A)"]), - ], - ), - ]), - $el("div.row.tab-header-flex-block", [ + }), $el("div.search-models", [ - searchInput, + moveDestinationInput, searchDropdown.element, ]), - $el("button.icon-button", { - type: "button", - textContent: "🔍︎", - onclick: () => this.#modelTab_updateModelGrid(), + $el("button", { + textContent: "Move", + onclick: async(e) => { + const confirmation = window.confirm("Move this file?"); + let moved = false; + if (confirmation) { + const container = this.elements.info; + const oldFile = container.dataset.path; + const [oldFilePath, oldFileName] = SearchPath.split(oldFile); + const newFile = ( + moveDestinationInput.value + + searchSeparator + + oldFileName + ); + moved = await request( + `/model-manager/model/move`, + { + method: "POST", + body: JSON.stringify({ + "oldFile": oldFile, + "newFile": newFile, + }), + } + ) + .then((result) => { + const moved = result["success"]; + if (moved) + { + moveDestinationInput.value = ""; + container.innerHTML = ""; + this.element.style.display = "none"; + updateModels(); + } + return moved; + }) + .catch(err => { + return false; + }); + } + buttonAlert(e.target, moved); + }, }), ]), ]), - modelGrid, - ]; + $el("div.model-info-container", { + $: (el) => (this.elements.info = el), + "data-path": "", + }), + ]); } - - #modelTab_updateModelGrid = () => { - const sortValue = this.#el.modelSortSelect.value; - const reverseSort = sortValue[0] === "-"; - const sortBy = reverseSort ? sortValue.substring(1) : sortValue; - ModelGrid.update( - this.#el.modelGrid, - this.#data.models, - this.#el.modelTypeSelect, - this.#data.previousModelType, - this.#el.settings, - sortBy, - reverseSort, - this.#data.previousModelFilters, - this.#el.modelContentFilter, - this.#searchSeparator, - this.#systemSeparator, - this.#modelTab_showModelInfo, - ); + + /** @returns {boolean} */ + isVisible() { + return this.element.style.display === "none"; } - - async #modelTab_updateModels() { - this.#systemSeparator = await request("/model-manager/system-separator"); - this.#data.models = await request("/model-manager/models/list"); - const newModelDirectories = await request("/model-manager/models/directory-list"); - this.#data.modelDirectories.splice(0, Infinity, ...newModelDirectories); // note: do NOT create a new array - this.#modelTab_updateModelGrid(); + + /** @returns {void} */ + show() { + this.element.removeAttribute("style"); } - - #modelTab_updatePreviousModelFilter = () => { - const modelType = this.#el.modelTypeSelect.value; - const value = this.#el.modelContentFilter.value; - this.#data.previousModelFilters[modelType] = value; - }; - - #modelTab_updateDirectoryDropdown = () => { - this.#modelContentFilterDirectoryDropdown.update( - this.#data.modelDirectories, - this.#searchSeparator, - this.#el.modelTypeSelect.value, - ); - this.#modelTab_updatePreviousModelFilter(); + + /** @returns {void} */ + hide() { + this.element.style.display = "none"; } - + /** * @param {string} searchPath + * @param {() => Promise} updateModels + * @param {string} searchSeparator */ - #modelTab_showModelInfo = async(searchPath) => { + async update(searchPath, updateModels, searchSeparator) { const path = encodeURIComponent(searchPath); const info = await request(`/model-manager/model/info?path=${path}`) .catch((err) => { @@ -2057,7 +1589,7 @@ class ModelManager extends ComfyDialog { if (info === null) { return; } - const infoHtml = this.#el.modelInfoContainer; + const infoHtml = this.elements.info; infoHtml.innerHTML = ""; infoHtml.dataset.path = searchPath; const innerHtml = []; @@ -2079,13 +1611,13 @@ class ModelManager extends ComfyDialog { const name = window.prompt("New model name:"); let renamed = false; if (name !== null && name !== "") { - const container = this.#el.modelInfoContainer; + const container = this.elements.info; const oldFile = container.dataset.path; - const [oldFilePath, oldFileName] = searchPath_split(oldFile); - const [_, extension] = searchPath_splitExtension(oldFile); + const [oldFilePath, oldFileName] = SearchPath.split(oldFile); + const [_, extension] = SearchPath.splitExtension(oldFile); const newFile = ( oldFilePath + - this.#searchSeparator + + searchSeparator + name + extension ); @@ -2104,8 +1636,8 @@ class ModelManager extends ComfyDialog { if (renamed) { container.innerHTML = ""; - this.#el.modelInfoView.style.display = "none"; - this.#modelTab_updateModels(); + this.element.style.display = "none"; + updateModels(); } return renamed; }) @@ -2122,27 +1654,28 @@ class ModelManager extends ComfyDialog { ); } + const previewSelect = this.previewSelect; + const defaultUrl = previewSelect.elements.defaultUrl; if (info["Preview"]) { const imagePath = info["Preview"]["path"]; const imageDateModified = info["Preview"]["dateModified"]; - this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(imagePath, imageDateModified); + defaultUrl.dataset.noimage = imageUri(imagePath, imageDateModified); } else { - this.#el.modelInfoDefaultUri.dataset.noimage = imageUri(); + defaultUrl.dataset.noimage = imageUri(); } - this.#resetModelInfoPreview(); - - const setAsPreviewButton = this.#el.setAsPreviewButton; - setAsPreviewButton.style.display = this.#modelInfoDefaultIsChecked() ? "none" : "block"; + previewSelect.resetModelInfoPreview(); + const setPreviewButton = this.elements.setPreviewButton; + setPreviewButton.style.display = previewSelect.defaultIsChecked() ? "none" : "block"; innerHtml.push($el("div", [ - this.#el.modelInfoPreview, + previewSelect.elements.previews, $el("div.row.tab-header", [ $el("div.row.tab-header-flex-block", [ - this.#el.modelInfoRadioGroup, + previewSelect.elements.radioGroup, ]), $el("div.row.tab-header-flex-block", [ - setAsPreviewButton, + setPreviewButton, ]), ]), $el("div", @@ -2189,7 +1722,7 @@ class ModelManager extends ComfyDialog { { method: "POST", body: JSON.stringify({ - "path": this.#el.modelInfoContainer.dataset.path, + "path": this.elements.info.dataset.path, "notes": noteArea.value, }), } @@ -2218,209 +1751,325 @@ class ModelManager extends ComfyDialog { ), ])); infoHtml.append.apply(infoHtml, innerHtml); - - this.#el.modelInfoView.removeAttribute("style"); // remove "display: none" // TODO: set default value of dropdown and value to model type? } +} +class Civitai { /** - * @param {HTMLInputElement[]} settings - * @param {boolean} reloadData + * Get model info from Civitai. + * + * @param {string} id - Model ID. + * @param {string} apiPath - Civitai request subdirectory. "models" for 'model' urls. "model-version" for 'api' urls. + * + * @returns {Promise} Dictionary containing recieved model info. Returns an empty if fails. */ - #setSettings(settings, reloadData) { - const el = this.#el.settings; - for (const [key, value] of Object.entries(settings)) { - const setting = el[key]; - if (setting === undefined || setting === null) { - continue; - } - const type = setting.type; - switch (type) { - case "checkbox": setting.checked = Boolean(value); break; - case "range": setting.value = parseFloat(value); break; - case "textarea": setting.value = value; break; - case "number": setting.value = parseInt(value); break; - default: console.warn("Unknown settings input type!"); - } + static async requestInfo(id, apiPath) { + const url = "https://civitai.com/api/v1/" + apiPath + "/" + id; + try { + return await request(url); } - - if (reloadData) { - // Is this slow? - this.#modelTab_updateModels(); + catch (error) { + console.error("Failed to get model info from Civitai!", error); + return {}; } } - + /** - * @param {Promise} reloadData + * Extract file information from the given model version infomation. + * + * @param {Object} modelVersionInfo - Model version infomation. + * @param {(string|null)} [type=null] - Optional select by model type. + * @param {(string|null)} [fp=null] - Optional select by floating point quantization. + * @param {(string|null)} [size=null] - Optional select by sizing. + * @param {(string|null)} [format=null] - Optional select by file format. + * + * @returns {Object} - Extracted list of infomation on each file of the given model version. */ - async #settingsTab_reload(reloadData) { - const data = await request("/model-manager/settings/load"); - const settings = data["settings"]; - this.#setSettings(settings, reloadData); - buttonAlert(this.#el.settings_reloadBtn, true); - } - - async #settingsTab_save() { - let settings = {}; - for (const [setting, el] of Object.entries(this.#el.settings)) { - if (!el) { continue; } // hack - const type = el.type; - let value = null; - switch (type) { - case "checkbox": value = el.checked; break; - case "range": value = el.value; break; - case "textarea": value = el.value; break; - case "number": value = el.value; break; - default: console.warn("Unknown settings input type!"); - } - settings[setting] = value; + static getModelFilesInfo(modelVersionInfo, type = null, fp = null, size = null, format = null) { + const files = []; + const modelVersionFiles = modelVersionInfo["files"]; + for (let i = 0; i < modelVersionFiles.length; i++) { + const modelVersionFile = modelVersionFiles[i]; + + const fileType = modelVersionFile["type"]; + if (type instanceof String && type != fileType) { continue; } + + const fileMeta = modelVersionFile["metadata"]; + + const fileFp = fileMeta["fp"]; + if (fp instanceof String && fp != fileFp) { continue; } + + const fileSize = fileMeta["size"]; + if (size instanceof String && size != fileSize) { continue; } + + const fileFormat = fileMeta["format"]; + if (format instanceof String && format != fileFormat) { continue; } + + files.push({ + "downloadUrl": modelVersionFile["downloadUrl"], + "format": fileFormat, + "fp": fileFp, + "hashes": modelVersionFile["hashes"], + "name": modelVersionFile["name"], + "size": fileSize, + "sizeKB": modelVersionFile["sizeKB"], + "type": fileType, + }); } - - const data = await request( - "/model-manager/settings/save", - { - method: "POST", - body: JSON.stringify({ "settings": settings }), + return { + "files": files, + "id": modelVersionInfo["id"], + "images": modelVersionInfo["images"].map((image) => { + // TODO: do I need to double-check image matches resource? + return image["url"]; + }), + "name": modelVersionInfo["name"], + }; + } + + /** + * + * + * @param {string} stringUrl - Model url. + * + * @returns {Promise} - Download information for the given url. + */ + static async getFilteredInfo(stringUrl) { + const url = new URL(stringUrl); + if (url.hostname != "civitai.com") { return {}; } + if (url.pathname == "/") { return {} } + const urlPath = url.pathname; + if (urlPath.startsWith("/api")) { + const idEnd = urlPath.length - (urlPath.at(-1) == "/" ? 1 : 0); + const idStart = urlPath.lastIndexOf("/", idEnd - 1) + 1; + const modelVersionId = urlPath.substring(idStart, idEnd); + if (parseInt(modelVersionId, 10) == NaN) { + return {}; } - ).catch((err) => { - return { "success": false }; + const modelVersionInfo = await Civitai.requestInfo(modelVersionId, "model-versions"); + if (Object.keys(modelVersionInfo).length == 0) { + return {}; + } + const searchParams = url.searchParams; + const filesInfo = Civitai.getModelFilesInfo( + modelVersionInfo, + searchParams.get("type"), + searchParams.get("fp"), + searchParams.get("size"), + searchParams.get("format"), + ); + return { + "name": modelVersionInfo["model"]["name"], + "type": modelVersionInfo["model"]["type"], + "versions": [filesInfo] + } + } + else if (urlPath.startsWith('/models')) { + const idStart = urlPath.indexOf("models/") + "models/".length; + const idEnd = (() => { + const idEnd = urlPath.indexOf("/", idStart); + return idEnd === -1 ? urlPath.length : idEnd; + })(); + const modelId = urlPath.substring(idStart, idEnd); + if (parseInt(modelId, 10) == NaN) { + return {}; + } + const modelInfo = await Civitai.requestInfo(modelId, "models"); + if (Object.keys(modelInfo).length == 0) { + return {}; + } + const modelVersionId = parseInt(url.searchParams.get("modelVersionId")); + const modelVersions = []; + const modelVersionInfos = modelInfo["modelVersions"]; + for (let i = 0; i < modelVersionInfos.length; i++) { + const versionInfo = modelVersionInfos[i]; + if (!Number.isNaN(modelVersionId)) { + if (modelVersionId != versionInfo["id"]) {continue; } + } + const filesInfo = Civitai.getModelFilesInfo(versionInfo); + modelVersions.push(filesInfo); + } + return { + "name": modelInfo["name"], + "type": modelInfo["type"], + "versions": modelVersions + } + } + else { + return {}; + } + } +} + +class HuggingFace { + /** + * Get model info from Huggingface. + * + * @param {string} id - Model ID. + * @param {string} apiPath - API path. + * + * @returns {Promise} Dictionary containing recieved model info. Returns an empty if fails. + */ + static async requestInfo(id, apiPath = "models") { + const url = "https://huggingface.co/api/" + apiPath + "/" + id; + try { + return await request(url); + } + catch (error) { + console.error("Failed to get model info from HuggingFace!", error); + return {}; + } + } + + /** + * + * + * @param {string} stringUrl - Model url. + * + * @returns {Promise} + */ + static async getFilteredInfo(stringUrl) { + const url = new URL(stringUrl); + if (url.hostname != "huggingface.co") { return {}; } + if (url.pathname == "/") { return {} } + const urlPath = url.pathname; + const i0 = 1; + const i1 = urlPath.indexOf("/", i0); + if (i1 == -1 || urlPath.length - 1 == i1) { + // user-name only + return {}; + } + let i2 = urlPath.indexOf("/", i1 + 1); + if (i2 == -1) { + // model id only + i2 = urlPath.length; + } + const modelId = urlPath.substring(i0, i2); + const urlPathEnd = urlPath.substring(i2); + + const isValidBranch = ( + urlPathEnd.startsWith("/resolve") || + urlPathEnd.startsWith("/blob") || + urlPathEnd.startsWith("/tree") + ); + + let branch = "/main"; + let filePath = ""; + if (isValidBranch) { + const i0 = branch.length; + const i1 = urlPathEnd.indexOf("/", i0 + 1); + if (i1 == -1) { + if (i0 != urlPathEnd.length) { + // ends with branch + branch = urlPathEnd.substring(i0); + } + } + else { + branch = urlPathEnd.substring(i0, i1); + if (urlPathEnd.length - 1 > i1) { + filePath = urlPathEnd.substring(i1); + } + } + } + + const modelInfo = await HuggingFace.requestInfo(modelId); + //const modelInfo = await requestInfo(modelId + "/tree" + branch); // this only gives you the files at the given branch path... + // oid: SHA-1?, lfs.oid: SHA-256 + + const clippedFilePath = filePath.substring(filePath[0] === "/" ? 1 : 0); + const modelFiles = modelInfo["siblings"].filter((sib) => { + const filename = sib["rfilename"]; + for (let i = 0; i < MODEL_EXTENSIONS.length; i++) { + if (filename.endsWith(MODEL_EXTENSIONS[i])) { + return filename.startsWith(clippedFilePath); + } + } + return false; + }).map((sib) => { + const filename = sib["rfilename"]; + return filename; }); - const success = data["success"]; - if (success) { - const settings = data["settings"]; - this.#setSettings(settings, true); + if (modelFiles.length === 0) { + return {}; } - buttonAlert(this.#el.settings_saveBtn, success); - } - - /** - * @returns {HTMLElement} - */ - #settingsTab_new() { - const settingsTab = $el("div.model-manager-settings", [ - $el("h1", ["Settings"]), - $el("div", [ - $el("button", { - $: (el) => (this.#el.settings_reloadBtn = el), - type: "button", - textContent: "Reload", // ⟳ - onclick: () => this.#settingsTab_reload(true), - }), - $el("button", { - $: (el) => (this.#el.settings_saveBtn = el), - type: "button", - textContent: "Save", // 💾︎ - onclick: () => this.#settingsTab_save(), - }), - ]), - /* - $el("h2", ["Window"]), - $el("div", [ - $el("p", ["Default sidebar width"]), - $el("input", { - $: (el) => (this.#el.settings["sidebar-default-width"] = el), - type: "number", - value: 0.5, - min: 0.0, - max: 1.0, - step: 0.05, - }), - ]), - $el("div", [ - $el("p", ["Default sidebar height"]), - $el("input", { - $: (el) => (this.#el.settings["sidebar-default-height"] = el), - type: "number", - textContent: "Default sidebar height", - value: 0.5, - min: 0.0, - max: 1.0, - step: 0.05, - }), - ]), - */ - $el("h2", ["Model Search"]), - $el("div", [ - $el("div.search-settings-text", [ - $el("p", ["Always include in model search:"]), - $el("textarea.comfy-multiline-input", { - $: (el) => (this.#el.settings["model-search-always-append"] = el), - placeholder: "example: -nsfw", - }), - ]), - ]), - $checkbox({ - $: (el) => (this.#el.settings["model-persistent-search"] = el), - textContent: "Persistent search text across model types", - }), - $checkbox({ - $: (el) => (this.#el.settings["model-show-label-extensions"] = el), - textContent: "Show model file extension in labels", - }), - $checkbox({ - $: (el) => (this.#el.settings["model-show-add-button"] = el), - textContent: "Show add button", - }), - $checkbox({ - $: (el) => (this.#el.settings["model-show-copy-button"] = el), - textContent: "Show copy button", - }), - $el("h2", ["Model Add"]), - $checkbox({ - $: (el) => (this.#el.settings["model-add-embedding-extension"] = el), - textContent: "Add extension to embedding", - }), - $checkbox({ - $: (el) => (this.#el.settings["model-add-drag-strict-on-field"] = el), - textContent: "Strict dragging model onto a node's model field to add", - }), - $el("div", [ - $el("input", { - $: (el) => (this.#el.settings["model-add-offset"] = el), - type: "number", - step: 5, - }), - $el("p", ["Add model offset"]), - ]), - ]); - this.#el.settingsTab = settingsTab; - return settingsTab; - } - - /** - * @param {Event} e - */ - #setSidebar(e) { - // TODO: settings["sidebar-default-width"] - // TODO: settings["sidebar-default-height"] - // TODO: draggable resize? - const button = e.target; - const modelManager = this.element; - const sidebarButtons = this.#el.sidebarButtons.children; - - let buttonIndex; - for (buttonIndex = 0; buttonIndex < sidebarButtons.length; buttonIndex++) { - if (sidebarButtons[buttonIndex] === button) { - break; + + const baseDownloadUrl = url.origin + urlPath.substring(0, i2) + "/resolve" + branch; + + const images = modelInfo["siblings"].filter((sib) => { + const filename = sib["rfilename"]; + for (let i = 0; i < IMAGE_EXTENSIONS.length; i++) { + if (filename.endsWith(IMAGE_EXTENSIONS[i])) { + return filename.startsWith(clippedFilePath); + } } - } - - const sidebarStates = ["sidebar-left", "sidebar-top", "sidebar-bottom", "sidebar-right"]; - let stateIndex; - for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { - const state = sidebarStates[stateIndex]; - if (modelManager.classList.contains(state)) { - modelManager.classList.remove(state); - break; - } - } - - if (stateIndex != buttonIndex) { - const newSidebarState = sidebarStates[buttonIndex]; - modelManager.classList.add(newSidebarState); - } + return false; + }).map((sib) => { + return baseDownloadUrl + "/" + sib["rfilename"]; + }); + + return { + "baseDownloadUrl": baseDownloadUrl, + "modelFiles": modelFiles, + "images": images, + }; } +} +class DownloadTab { + /** @type {HTMLDivElement} */ + element = null; + + elements = { + /** @type {HTMLInputElement} */ url: null, + /** @type {HTMLDivElement} */ infos: null, + /** @type {HTMLInputElement} */ overwrite: null, + }; + + /** @type {() => Promise} */ + #updateModels = () => {}; + + /** + * Tries to return the related ComfyUI model directory if unambigious. + * + * @param {string | undefined} modelType - Model type. + * @param {string | undefined} [fileType] - File type. Relevant for "Diffusers". + * + * @returns {(string | null)} Logical base directory name for model type. May be null if the directory is ambiguous or not a model type. + */ + static modelTypeToComfyUiDirectory(modelType, fileType) { + if (fileType !== undefined && fileType !== null) { + const f = fileType.toLowerCase(); + if (f == "diffusers") { return "diffusers"; } // TODO: is this correct? + } + + if (modelType !== undefined && modelType !== null) { + const m = modelType.toLowerCase(); + // TODO: somehow allow for SERVER to set dir? + // TODO: allow user to choose EXISTING folder override/null? (style_models, HuggingFace) (use an object/map instead so settings can be dynamically set) + if (m == "aestheticGradient") { return null; } + else if (m == "checkpoint" || m == "checkpoints") { return "checkpoints"; } + //else if (m == "") { return "clip"; } + //else if (m == "") { return "clip_vision"; } + else if (m == "controlnet") { return "controlnet"; } + //else if (m == "Controlnet") { return "style_models"; } // are these controlnets? (TI-Adapter) + //else if (m == "") { return "gligen"; } + else if (m == "hypernetwork" || m == "hypernetworks") { return "hypernetworks"; } + else if (m == "lora" || m == "loras") { return "loras"; } + else if (m == "locon") { return "loras"; } + else if (m == "motionmodule") { return null; } + else if (m == "other") { return null; } + else if (m == "pose") { return null; } + else if (m == "textualinversion" || m == "embedding" || m == "embeddings") { return "embeddings"; } + //else if (m == "") { return "unet"; } + else if (m == "upscaler" || m == "upscale_model" || m == "upscale_models") { return "upscale_models"; } + else if (m == "vae") { return "vae"; } + else if (m == "wildcard" || m == "wildcards") { return null; } + else if (m == "workflow" || m == "workflows") { return null; } + } + return null; + } + /** * @param {Object} info * @param {String[]} modelTypes @@ -2429,8 +2078,8 @@ class ModelManager extends ComfyDialog { * @param {int} id * @returns {HTMLDivElement} */ - #downloadTab_modelInfo(info, modelTypes, modelDirectories, searchSeparator, id) { - const [el_radioGroup, el_radioButtons, el_preview, getImage, el_defaultUri, resetModelInfoPreview, defaultIsChecked] = radioGroupImageSelect( + #modelInfo(info, modelTypes, modelDirectories, searchSeparator, id) { + const downloadPreviewSelect = new ImageSelect( "model-download-info-preview-model" + "-" + id, info["images"], ); @@ -2445,8 +2094,8 @@ class ModelManager extends ComfyDialog { const el_saveDirectoryPath = $el("input.search-text-area", { type: "text", - placeholder: this.#searchSeparator + "0", - value: this.#searchSeparator + "0", + placeholder: searchSeparator + "0", + value: searchSeparator + "0", }); let searchDropdown = null; searchDropdown = new DirectoryDropdown( @@ -2482,7 +2131,7 @@ class ModelManager extends ComfyDialog { $el("div", { style: { display: "flex", "flex-wrap": "wrap", gap: "16px" }, }, [ - el_preview, + downloadPreviewSelect.elements.previews, $el("div.download-settings", [ $el("div", { style: { "margin-top": "8px" } @@ -2502,7 +2151,7 @@ class ModelManager extends ComfyDialog { formData.append("download", info["downloadUrl"]); formData.append("path", el_modelTypeSelect.value + - this.#searchSeparator + // NOTE: this may add multiple separators (server should handle carefully) + searchSeparator + // NOTE: this may add multiple separators (server should handle carefully) el_saveDirectoryPath.value ); formData.append("name", (() => { @@ -2516,8 +2165,9 @@ class ModelManager extends ComfyDialog { }) ?? ""; return name + ext; })()); - formData.append("image", getImage()); - formData.append("overwrite", this.#el.modelInfoOverwrite.checked); + const image = downloadPreviewSelect.getImage(); + formData.append("image", image === imageUri() ? "" : image); + formData.append("overwrite", this.elements.overwrite.checked); e.target.disabled = true; const [success, resultText] = await request( "/model-manager/model/download", @@ -2535,7 +2185,7 @@ class ModelManager extends ComfyDialog { return [false, "📥︎"]; }); if (success) { - this.#modelTab_updateModels(); + this.#updateModels(); } buttonAlert(e.target, success, "✔", "✖", resultText); e.target.disabled = success; @@ -2543,7 +2193,7 @@ class ModelManager extends ComfyDialog { }), el_filename, ]), - el_radioGroup, + downloadPreviewSelect.elements.radioGroup, ]), ]), ]), @@ -2551,8 +2201,8 @@ class ModelManager extends ComfyDialog { el_modelTypeSelect.selectedIndex = 0; // reset const comfyUIModelType = ( - modelTypeToComfyUiDirectory(info["details"]["fileType"]) ?? - modelTypeToComfyUiDirectory(info["modelType"]) ?? + DownloadTab.modelTypeToComfyUiDirectory(info["details"]["fileType"]) ?? + DownloadTab.modelTypeToComfyUiDirectory(info["modelType"]) ?? null ); if (comfyUIModelType !== undefined && comfyUIModelType !== null) { @@ -2568,15 +2218,20 @@ class ModelManager extends ComfyDialog { return modelInfo; } - - async #downloadTab_search() { - const infosHtml = this.#el.modelInfos; + + /** + * @param {Object} models + * @param {DirectoryItem[]} modelDirectories + * @param {string} searchSeparator + */ + async search(models, modelDirectories, searchSeparator) { + const infosHtml = this.elements.infos; infosHtml.innerHTML = ""; - const urlText = this.#el.modelInfoUrl.value; + const urlText = this.elements.url.value; const modelInfos = await (async () => { if (urlText.startsWith("https://civitai.com")) { - const civitaiInfo = await civitai_getFilteredInfo(urlText); + const civitaiInfo = await Civitai.getFilteredInfo(urlText); if (Object.keys(civitaiInfo).length === 0) { return []; } @@ -2604,7 +2259,7 @@ class ModelManager extends ComfyDialog { return infos; } if (urlText.startsWith("https://huggingface.co")) { - const hfInfo = await huggingFace_getFilteredInfo(urlText); + const hfInfo = await HuggingFace.getFilteredInfo(urlText); if (Object.keys(hfInfo).length === 0) { return []; } @@ -2635,7 +2290,7 @@ class ModelManager extends ComfyDialog { return { "images": [], "fileName": file["name"], - "modelType": modelTypeToComfyUiDirectory(file["type"], "") ?? "", + "modelType": DownloadTab.modelTypeToComfyUiDirectory(file["type"], "") ?? "", "downloadUrl": file["download"], "downloadFilePath": "", "details": {}, @@ -2645,18 +2300,18 @@ class ModelManager extends ComfyDialog { return []; })(); - const modelTypes = Object.keys(this.#data.models); + const modelTypes = Object.keys(models); const modelInfosHtml = modelInfos.filter((modelInfo) => { const filename = modelInfo["fileName"]; return MODEL_EXTENSIONS.find((ext) => { return filename.endsWith(ext); }) ?? false; }).map((modelInfo, id) => { - return this.#downloadTab_modelInfo( + return this.#modelInfo( modelInfo, modelTypes, - this.#data.modelDirectories, - this.#searchSeparator, + modelDirectories, + searchSeparator, id, ); }); @@ -2668,7 +2323,7 @@ class ModelManager extends ComfyDialog { modelInfosHtml[0].open = true; } const label = $checkbox({ - $: (el) => { this.#el.modelInfoOverwrite = el; }, + $: (el) => { this.elements.overwrite = el; }, textContent: "Overwrite Existing Files", }); modelInfosHtml.unshift(label); @@ -2677,29 +2332,36 @@ class ModelManager extends ComfyDialog { } /** - * @returns {HTMLElement} + * @param {Object} models + * @param {DirectoryItem[]} modelDirectories + * @param {() => Promise} updateModels + * @param {string} searchSeparator */ - #downloadTab_new() { - return $el("div.tab-header", [ + constructor(models, modelDirectories, updateModels, searchSeparator) { + this.#updateModels = updateModels; + const search = async() => this.search(models, modelDirectories, searchSeparator); + $el("div.tab-header", { + $: (el) => (this.element = el), + }, [ $el("div.row.tab-header-flex-block", [ $el("input.search-text-area", { - $: (el) => (this.#el.modelInfoUrl = el), + $: (el) => (this.elements.url = el), type: "text", placeholder: "example: https://civitai.com/models/207992/stable-video-diffusion-svd", onkeydown: (e) => { if (e.key === "Enter") { e.stopPropagation(); - this.#downloadTab_search(); + search(); } }, }), $el("button.icon-button", { - onclick: () => this.#downloadTab_search(), + onclick: () => search(), textContent: "🔍︎", }), ]), $el("div.download-model-infos", { - $: (el) => (this.#el.modelInfos = el), + $: (el) => (this.elements.infos = el), }, [ $el("div", ["Input a URL to select a model to download."]), ]), @@ -2707,6 +2369,520 @@ class ModelManager extends ComfyDialog { } } +class ModelTab { + /** @type {HTMLDivElement} */ + element = null; + + elements = { + /** @type {HTMLDivElement} */ modelGrid: null, + /** @type {HTMLSelectElement} */ modelTypeSelect: null, + /** @type {HTMLSelectElement} */ modelSortSelect: null, + /** @type {HTMLInputElement} */ modelContentFilter: null, + }; + + /** @type {DirectoryDropdown} */ + directoryDropdown = null; + + /** + * @param {() => void} updateDirectoryDropdown + * @param {() => void} updatePreviousModelFilter + * @param {() => Promise} updateModelGrid + * @param {() => Promise} updateModels + * @param {string} searchSeparator + */ + constructor(updateDirectoryDropdown, updatePreviousModelFilter, updateModelGrid, updateModels, searchSeparator) { + /** @type {HTMLDivElement} */ + const modelGrid = $el("div.comfy-grid"); + this.elements.modelGrid = modelGrid; + + const searchInput = $el("input.search-text-area", { + $: (el) => (this.elements.modelContentFilter = el), + placeholder: "example: /0/1.5/styles/clothing -.pt", + }); + + const searchDropdown = new DirectoryDropdown( + searchInput, + updateDirectoryDropdown, + updatePreviousModelFilter, + updateModelGrid, + searchSeparator, + false, + ); + this.directoryDropdown = searchDropdown; + + this.element = $el("div", [ + $el("div.row.tab-header", [ + $el("div.row.tab-header-flex-block", [ + $el("button.icon-button", { + type: "button", + textContent: "⟳", + onclick: () => updateModels(), + }), + $el("select.model-select-dropdown", { + $: (el) => (this.elements.modelTypeSelect = el), + name: "model-type", + onchange: () => updateModelGrid(), + }), + $el("select.model-select-dropdown", + { + $: (el) => (this.elements.modelSortSelect = el), + onchange: () => updateModelGrid(), + }, + [ + $el("option", { value: MODEL_SORT_DATE_CREATED }, ["Created (newest to oldest)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_CREATED }, ["Created (oldest to newest)"]), + $el("option", { value: MODEL_SORT_DATE_MODIFIED }, ["Modified (newest to oldest)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_MODIFIED }, ["Modified (oldest to newest)"]), + $el("option", { value: MODEL_SORT_DATE_NAME }, ["Name (A-Z)"]), + $el("option", { value: "-" + MODEL_SORT_DATE_NAME }, ["Name (Z-A)"]), + ], + ), + ]), + $el("div.row.tab-header-flex-block", [ + $el("div.search-models", [ + searchInput, + searchDropdown.element, + ]), + $el("button.icon-button", { + type: "button", + textContent: "🔍︎", + onclick: () => updateModelGrid(), + }), + ]), + ]), + modelGrid, + ]); + } +} + +class SettingsTab { + /** @type {HTMLDivElement} */ + element = null; + + elements = { + /** @type {HTMLButtonElement} */ reloadButton: null, + /** @type {HTMLButtonElement} */ saveButton: null, + /** @type {HTMLDivElement} */ setPreviewButton: null, + settings: { + //"sidebar-default-height": null, + //"sidebar-default-width": null, + /** @type {HTMLTextAreaElement} */ "model-search-always-append": null, + /** @type {HTMLInputElement} */ "model-persistent-search": null, + /** @type {HTMLInputElement} */ "model-show-label-extensions": null, + /** @type {HTMLInputElement} */ "model-show-add-button": null, + /** @type {HTMLInputElement} */ "model-show-copy-button": null, + /** @type {HTMLInputElement} */ "model-add-embedding-extension": null, + /** @type {HTMLInputElement} */ "model-add-drag-strict-on-field": null, + /** @type {HTMLInputElement} */ "model-add-offset": null, + }, + }; + + /** @return {() => Promise} */ + #updateModels = () => {}; + + /** + * @param {Object} settingsData + * @param {boolean} updateModels + */ + #setSettings(settingsData, updateModels) { + const settings = this.elements.settings; + for (const [key, value] of Object.entries(settingsData)) { + const setting = settings[key]; + if (setting === undefined || setting === null) { + continue; + } + const type = setting.type; + switch (type) { + case "checkbox": setting.checked = Boolean(value); break; + case "range": setting.value = parseFloat(value); break; + case "textarea": setting.value = value; break; + case "number": setting.value = parseInt(value); break; + default: console.warn("Unknown settings input type!"); + } + } + + if (updateModels) { + this.#updateModels(); // Is this slow? + } + } + + /** + * @param {boolean} updateModels + * @returns {Promise} + */ + async reload(updateModels) { + const data = await request("/model-manager/settings/load"); + this.#setSettings(data["settings"], updateModels); + buttonAlert(this.elements.reloadButton, true); + } + + /** @returns {Promise} */ + async save() { + let settingsData = {}; + for (const [setting, el] of Object.entries(this.elements.settings)) { + if (!el) { continue; } // hack + const type = el.type; + let value = null; + switch (type) { + case "checkbox": value = el.checked; break; + case "range": value = el.value; break; + case "textarea": value = el.value; break; + case "number": value = el.value; break; + default: console.warn("Unknown settings input type!"); + } + settingsData[setting] = value; + } + + const data = await request( + "/model-manager/settings/save", + { + method: "POST", + body: JSON.stringify({ "settings": settingsData }), + } + ).catch((err) => { + return { "success": false }; + }); + const success = data["success"]; + if (success) { + this.#setSettings(data["settings"], true); + } + buttonAlert(this.elements.saveButton, success); + } + + /** + * @param {() => Promise} updateModels + */ + constructor(updateModels) { + this.#updateModels = updateModels; + const settings = this.elements.settings; + $el("div.model-manager-settings", { + $: (el) => (this.element = el), + }, [ + $el("h1", ["Settings"]), + $el("div", [ + $el("button", { + $: (el) => (this.elements.reloadButton = el), + type: "button", + textContent: "Reload", // ⟳ + onclick: () => this.reload(true), + }), + $el("button", { + $: (el) => (this.elements.saveButton = el), + type: "button", + textContent: "Save", // 💾︎ + onclick: () => this.save(), + }), + ]), + /* + $el("h2", ["Window"]), + $el("div", [ + $el("p", ["Default sidebar width"]), + $el("input", { + $: (el) => (settings["sidebar-default-width"] = el), + type: "number", + value: 0.5, + min: 0.0, + max: 1.0, + step: 0.05, + }), + ]), + $el("div", [ + $el("p", ["Default sidebar height"]), + $el("input", { + $: (el) => (settings["sidebar-default-height"] = el), + type: "number", + textContent: "Default sidebar height", + value: 0.5, + min: 0.0, + max: 1.0, + step: 0.05, + }), + ]), + */ + $el("h2", ["Model Search"]), + $el("div", [ + $el("div.search-settings-text", [ + $el("p", ["Always include in model search:"]), + $el("textarea.comfy-multiline-input", { + $: (el) => (settings["model-search-always-append"] = el), + placeholder: "example: -nsfw", + }), + ]), + ]), + $checkbox({ + $: (el) => (settings["model-persistent-search"] = el), + textContent: "Persistent search text across model types", + }), + $checkbox({ + $: (el) => (settings["model-show-label-extensions"] = el), + textContent: "Show model file extension in labels", + }), + $checkbox({ + $: (el) => (settings["model-show-add-button"] = el), + textContent: "Show add button", + }), + $checkbox({ + $: (el) => (settings["model-show-copy-button"] = el), + textContent: "Show copy button", + }), + $el("h2", ["Model Add"]), + $checkbox({ + $: (el) => (settings["model-add-embedding-extension"] = el), + textContent: "Add extension to embedding", + }), + $checkbox({ + $: (el) => (settings["model-add-drag-strict-on-field"] = el), + textContent: "Strict dragging model onto a node's model field to add", + }), + $el("div", [ + $el("input", { + $: (el) => (settings["model-add-offset"] = el), + type: "number", + step: 5, + }), + $el("p", ["Add model offset"]), + ]), + ]); + } +} + +class SidebarButtons { + /** @type {HTMLDivElement} */ + element = null; + + /** @type {ModelManager} */ + #modelManager = null; + + /** + * @param {Event} e + */ + #setSidebar(e) { + // TODO: settings["sidebar-default-width"] + // TODO: settings["sidebar-default-height"] + // TODO: draggable resize? + const button = e.target; + const modelManager = this.#modelManager.element; + const sidebarButtons = this.element.children; + + let buttonIndex; + for (buttonIndex = 0; buttonIndex < sidebarButtons.length; buttonIndex++) { + if (sidebarButtons[buttonIndex] === button) { + break; + } + } + + const sidebarStates = ["sidebar-left", "sidebar-bottom", "sidebar-top", "sidebar-right"]; + let stateIndex; + for (stateIndex = 0; stateIndex < sidebarStates.length; stateIndex++) { + const state = sidebarStates[stateIndex]; + if (modelManager.classList.contains(state)) { + modelManager.classList.remove(state); + break; + } + } + + if (stateIndex != buttonIndex) { + const newSidebarState = sidebarStates[buttonIndex]; + modelManager.classList.add(newSidebarState); + } + } + + /** + * @param {ModelManager} modelManager + */ + constructor(modelManager) { + this.#modelManager = modelManager; + $el("div.sidebar-buttons", + { + $: (el) => (this.element = el), + }, + [ + $el("button.icon-button", { + textContent: "◧", + onclick: (event) => this.#setSidebar(event), + }), + $el("button.icon-button", { + textContent: "⬓", + onclick: (event) => this.#setSidebar(event), + }), + $el("button.icon-button", { + textContent: "⬒", + onclick: (event) => this.#setSidebar(event), + }), + $el("button.icon-button", { + textContent: "◨", + onclick: (event) => this.#setSidebar(event), + }), + ]); + } +} + +class ModelManager extends ComfyDialog { + #data = { + /** @type {Object} */ models: {}, + /** @type {DirectoryItem[]} */ modelDirectories: [], + /** @type {Array} */ previousModelFilters: [], + /** @type {Object.<{value: string}>} */ previousModelType: { value: null }, + }; + + /** @type {string} */ + #searchSeparator = "/"; + + /** @type {string} */ + #systemSeparator = null; + + /** @type {ModelInfoView} */ + #modelInfoView = null; + + /** @type {DownloadTab} */ + #downloadTab = null; + + /** @type {ModelTab} */ + #modelTab = null; + + /** @type {SettingsTab} */ + #settingsTab = null; + + /** @type {SidebarButtons} */ + #sidebarButtons = null; + + constructor() { + super(); + const modelInfoView = new ModelInfoView( + this.#data.modelDirectories, + this.#modelTab_updateModels, + this.#searchSeparator, + ); + this.#modelInfoView = modelInfoView; + + const downloadTab = new DownloadTab( + this.#data.models, + this.#data.modelDirectories, + this.#modelTab_updateModels, + this.#searchSeparator, + ); + this.#downloadTab = DownloadTab; + + const modelTab = new ModelTab( + this.#modelTab_updateDirectoryDropdown, + this.#modelTab_updatePreviousModelFilter, + this.#modelTab_updateModelGrid, + this.#modelTab_updateModels, + this.#searchSeparator, + ); + this.#modelTab = modelTab; + + const settingsTab = new SettingsTab( + this.#modelTab_updateModels, + ); + this.#settingsTab = settingsTab; + + const sidebarButtons = new SidebarButtons(this); + this.#sidebarButtons = sidebarButtons; + + this.element = $el( + "div.comfy-modal.model-manager", + { + parent: document.body, + }, + [ + $el("div.comfy-modal-content", [ // TODO: settings.top_bar_left_to_right or settings.top_bar_right_to_left + modelInfoView.element, + $el("div.topbar-buttons", + [ + sidebarButtons.element, + $el("button.icon-button", { + textContent: "✖", + onclick: () => { + if (modelInfoView.isVisible()) { // TODO: decouple + this.close(); + } + else { + modelInfoView.hide(); + } + }, + }), + ] + ), + $tabs([ + $tab("Download", [downloadTab.element]), + $tab("Models", [modelTab.element]), + $tab("Settings", [settingsTab.element]), + ]), + ]), + ] + ); + + this.#init(); + } + + #init() { + this.#settingsTab.reload(false); + this.#modelTab_updateModels(); + } + + #modelTab_updateModelGrid = () => { + const modelTab = this.#modelTab; + const sortValue = modelTab.elements.modelSortSelect.value; + const reverseSort = sortValue[0] === "-"; + const sortBy = reverseSort ? sortValue.substring(1) : sortValue; + ModelGrid.update( + modelTab.elements.modelGrid, + this.#data.models, + modelTab.elements.modelTypeSelect, + this.#data.previousModelType, + this.#settingsTab.elements.settings, + sortBy, + reverseSort, + this.#data.previousModelFilters, + modelTab.elements.modelContentFilter, + this.#searchSeparator, + this.#systemSeparator, + this.#modelTab_showModelInfo, + ); + } + + #modelTab_updateModels = async() => { + this.#systemSeparator = await request("/model-manager/system-separator"); + + const newModels = await request("/model-manager/models/list"); + Object.assign(this.#data.models, newModels); // NOTE: do NOT create a new object + + const newModelDirectories = await request("/model-manager/models/directory-list"); + this.#data.modelDirectories.splice(0, Infinity, ...newModelDirectories); // NOTE: do NOT create a new array + + this.#modelTab_updateModelGrid(); + } + + #modelTab_updatePreviousModelFilter = () => { + const modelType = this.#modelTab.elements.modelTypeSelect.value; + const value = this.#modelTab.elements.modelContentFilter.value; + this.#data.previousModelFilters[modelType] = value; + }; + + #modelTab_updateDirectoryDropdown = () => { + this.#modelTab.directoryDropdown.update( + this.#data.modelDirectories, + this.#searchSeparator, + this.#modelTab.elements.modelTypeSelect.value, + ); + this.#modelTab_updatePreviousModelFilter(); + } + + /** + * @param {string} searchPath + */ + #modelTab_showModelInfo = async(searchPath) => { + this.#modelInfoView.update( + searchPath, + this.#modelTab_updateModels, + this.#searchSeparator + ).then(() => { + this.#modelInfoView.show(); + }); + } +} + let instance; /** From 76aac01afd5b416f7685f1ae080f4678412f3fe9 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 03:53:07 -0500 Subject: [PATCH 72/79] Refactor CSS. --- web/model-manager.css | 602 ++++++++++++++++++++---------------------- 1 file changed, 292 insertions(+), 310 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index 3b5e392..79f81bf 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -1,192 +1,3 @@ -/* comfy table */ -.comfy-table { - width: 100%; - table-layout: auto; - border-collapse: separate; - border-spacing: 0; -} - -.comfy-table .table-head tr { - background-color: var(--tr-even-bg-color); -} - -/* comfy tabs */ -.comfy-tabs { - color: var(--fg-color); -} - -.comfy-tabs-head { - display: flex; - gap: 8px; - flex-wrap: wrap; - border-bottom: 2px solid var(--border-color); -} - -.comfy-tabs-head .head-item { - padding: 8px 12px; - border: 2px solid var(--border-color); - border-bottom: none; - border-top-left-radius: 8px; - border-top-right-radius: 8px; - background-color: var(--comfy-menu-bg); - cursor: pointer; - margin-bottom: 0px; - z-index: 1; -} - -.comfy-tabs-head .head-item.active { - background-color: var(--comfy-input-bg); - cursor: default; - position: relative; - z-index: 1; -} - -.comfy-tabs-body { - background-color: var(--bg-color); - border: 2px solid var(--border-color); - border-top: none; - padding: 16px 0px; -} - -/* comfy grid */ -.comfy-grid { - display: flex; - flex-wrap: wrap; - gap: 16px; -} - -.model-manager .item { - position: relative; - width: 230px; - height: 345px; - text-align: center; - overflow: hidden; - border-radius: 8px; -} - -.model-manager .item img { - width: 100%; - height: 100%; - object-fit: cover; -} - -.model-manager .model-preview-button-left, -.model-manager .model-preview-button-right { - position: absolute; - top: 0; - bottom: 0; - margin: auto; - border-radius: 20px; -} - -.model-manager .model-preview-button-right { - right: 4px; -} - -.model-manager .model-preview-button-left { - left: 4px; -} - -.comfy-grid .model-label { - background-color: #000a; - width: 100%; - height: 2.2rem; - position: absolute; - bottom: 0; - text-align: center; - line-height: 2.2rem; -} - -.comfy-grid .model-label > p { - width: calc(100% - 2rem); - overflow-x: scroll; - white-space: nowrap; - display: inline-block; - vertical-align: middle; - margin: 0; -} - -.comfy-grid .model-label { - scrollbar-width: none; - -ms-overflow-style: none; -} - -.comfy-grid .model-label ::-webkit-scrollbar { - width: 0; - height: 0; -} - -.model-manager .item .model-preview-overlay { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - background-color: rgba(0, 0, 0, 0); -} - -.comfy-grid .model-preview-top-right, -.comfy-grid .model-preview-top-left { - position: absolute; - display: flex; - flex-direction: column; - gap: 8px; - top: 8px; -} - -.comfy-grid .model-preview-top-right { - right: 8px; -} - -.comfy-grid .model-preview-top-left { - left: 8px; -} - -.comfy-grid .model-button { - opacity: 0.65; -} - -.comfy-grid .model-button:hover { - opacity: 1; -} - -.comfy-grid .model-label { - user-select: text; -} - -/* comfy radio group */ -.comfy-radio-group { - display: flex; - gap: 8px; - flex-wrap: wrap; - min-width: 0; -} - -.comfy-radio { - display: flex; - gap: 4px; - padding: 4px 16px; - color: var(--input-text); - border: 2px solid var(--border-color); - border-radius: 16px; - background-color: var(--comfy-input-bg); - font-size: 18px; -} - -.comfy-radio:has(> input[type="radio"]:checked) { - border-color: var(--border-color); - background-color: var(--comfy-menu-bg); -} - -.comfy-radio input[type="radio"]:checked + label { - color: var(--fg-color); -} - -.radio-input { - opacity: 0; - position: absolute; -} - /* model manager */ .model-manager { box-sizing: border-box; @@ -199,6 +10,11 @@ z-index: 2000; } +.model-manager .comfy-modal-content { + width: 100%; + gap: 16px; +} + .model-manager.sidebar-left { width: 50%; left: 25%; @@ -219,16 +35,23 @@ left: 75%; } -.model-manager .comfy-modal-content { - width: 100%; - gap: 16px; -} - -/* model manager common */ +/* common */ .model-manager h1 { min-width: 0; } +.model-manager textarea { + width: 100%; + font-size: 1.2em; + border: solid 2px var(--border-color); + border-radius: 8px; + resize: vertical; +} + +.model-manager input[type="file"] { + flex: 1; +} + .model-manager button, .model-manager select, .model-manager input { @@ -288,14 +111,85 @@ line-height: 1.15; } -/* model manager row */ .model-manager .row { display: flex; min-width: 0; gap: 8px; } -/* comfy tabs */ +.model-manager .tab-header { + display: flex; + padding: 8px 0; + flex-direction: column; + background-color: var(--bg-color); +} + +.model-manager .tab-header-flex-block { + width: 100%; + min-width: 0; +} + +.model-manager .button-success { + color: green; + border-color: green; +} + +.model-manager .button-failure { + color: darkred; + border-color: darkred; +} + +.model-manager .no-select { + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* sidebar buttons */ +.model-manager .sidebar-buttons { + overflow: hidden; + padding-right: 10px; + color: var(--input-text); +} + +/* tabs */ +.model-manager .comfy-tabs { + color: var(--fg-color); +} + +.model-manager .comfy-tabs-head { + display: flex; + gap: 8px; + flex-wrap: wrap; + border-bottom: 2px solid var(--border-color); +} + +.model-manager .comfy-tabs-head .head-item { + padding: 8px 12px; + border: 2px solid var(--border-color); + border-bottom: none; + border-top-left-radius: 8px; + border-top-right-radius: 8px; + background-color: var(--comfy-menu-bg); + cursor: pointer; + margin-bottom: 0px; + z-index: 1; +} + +.model-manager .comfy-tabs-head .head-item.active { + background-color: var(--comfy-input-bg); + cursor: default; + position: relative; + z-index: 1; +} + +.model-manager .comfy-tabs-body { + background-color: var(--bg-color); + border: 2px solid var(--border-color); + border-top: none; + padding: 16px 0px; +} + .model-manager .comfy-tabs { flex: 1; display: flex; @@ -316,7 +210,205 @@ overflow-x: auto; } -/* model manager special */ +/* model info view */ +.model-manager .model-info-view { + background-color: var(--bg-color); + border: 2px solid var(--border-color); + box-sizing: border-box; + display: flex; + flex-direction: column; + height: 100%; + margin-top: 40px; + overflow-wrap: break-word; + overflow-y: auto; + padding: 20px; +} + +.model-manager .model-info-container { + background-color: var(--bg-color); + border-radius: 16px; + color: var(--fg-color); + width: auto; +} + +/* download tab */ + +.model-manager [data-name="Download"] summary { + padding: 16px; +} + +.model-manager [data-name="Download"] .download-settings { + flex: 1; +} + +.model-manager .download-model-infos { + padding: 16px 0; +} + +/* models tab */ +.model-manager [data-name="Models"] .row { + position: sticky; + z-index: 1; + top: 0; +} + +/* preview image */ +.model-manager .item { + position: relative; + width: 230px; + height: 345px; + text-align: center; + overflow: hidden; + border-radius: 8px; +} + +.model-manager .item img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.model-manager .model-preview-button-left, +.model-manager .model-preview-button-right { + position: absolute; + top: 0; + bottom: 0; + margin: auto; + border-radius: 20px; +} + +.model-manager .model-preview-button-right { + right: 4px; +} + +.model-manager .model-preview-button-left { + left: 4px; +} + +.model-manager .item .model-preview-overlay { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background-color: rgba(0, 0, 0, 0); +} + +/* grid */ +.model-manager .comfy-grid { + display: flex; + flex-wrap: wrap; + gap: 16px; +} + +.model-manager .comfy-grid .model-label { + background-color: #000a; + width: 100%; + height: 2.2rem; + position: absolute; + bottom: 0; + text-align: center; + line-height: 2.2rem; +} + +.model-manager .comfy-grid .model-label > p { + width: calc(100% - 2rem); + overflow-x: scroll; + white-space: nowrap; + display: inline-block; + vertical-align: middle; + margin: 0; +} + +.model-manager .comfy-grid .model-label { + scrollbar-width: none; + -ms-overflow-style: none; +} + +.model-manager .comfy-grid .model-label ::-webkit-scrollbar { + width: 0; + height: 0; +} + +.model-manager .comfy-grid .model-preview-top-right, +.model-manager .comfy-grid .model-preview-top-left { + position: absolute; + display: flex; + flex-direction: column; + gap: 8px; + top: 8px; +} + +.model-manager .comfy-grid .model-preview-top-right { + right: 8px; +} + +.model-manager .comfy-grid .model-preview-top-left { + left: 8px; +} + +.model-manager .comfy-grid .model-button { + opacity: 0.65; +} + +.model-manager .comfy-grid .model-button:hover { + opacity: 1; +} + +.model-manager .comfy-grid .model-label { + user-select: text; +} + +/* radio */ +.model-manager .comfy-radio-group { + display: flex; + gap: 8px; + flex-wrap: wrap; + min-width: 0; +} + +.model-manager .comfy-radio { + display: flex; + gap: 4px; + padding: 4px 16px; + color: var(--input-text); + border: 2px solid var(--border-color); + border-radius: 16px; + background-color: var(--comfy-input-bg); + font-size: 18px; +} + +.model-manager .comfy-radio:has(> input[type="radio"]:checked) { + border-color: var(--border-color); + background-color: var(--comfy-menu-bg); +} + +.model-manager .comfy-radio input[type="radio"]:checked + label { + color: var(--fg-color); +} + +.model-manager .radio-input { + opacity: 0; + position: absolute; +} + +/* model preview select */ +.model-preview-select-radio-container { + min-width: 0; + flex: 1; +} + +.model-manager .model-preview-select-radio-container img { + position: relative; + width: 230px; + height: 345px; + text-align: center; + overflow: hidden; + border-radius: 8px; + object-fit: cover; +} + +/* topbar */ .model-manager .topbar-buttons { position: absolute; display: flex; @@ -330,42 +422,7 @@ padding: 1px 6px; } -.model-manager .sidebar-buttons { - overflow: hidden; - padding-right: 10px; - color: var(--input-text); -} - -.model-manager [data-name="Install"] .row, -.model-manager [data-name="Models"] .row { - position: sticky; - z-index: 1; - top: 0; -} - -.model-manager [data-name="Install"] input { - flex-grow: 1; - overflow-x: clip; -} - -.model-manager .table-head { - position: sticky; - top: 116px; - z-index: 1; -} - -.model-manager .tab-header { - display: flex; - padding: 8px 0; - flex-direction: column; - background-color: var(--bg-color); -} - -.model-manager .tab-header-flex-block { - width: 100%; - min-width: 0; -} - +/* search dropdown */ .model-manager .search-models { display: flex; flex-direction: row; @@ -402,7 +459,7 @@ z-index: 1; } -.search-dropdown:empty { +.model-manager .search-dropdown:empty { display: none; } @@ -423,16 +480,6 @@ background-color: var(--border-color); } -.model-manager .button-success { - color: green; - border-color: green; -} - -.model-manager .button-failure { - color: darkred; - border-color: darkred; -} - /* model manager settings */ .model-manager .model-manager-settings > div, .model-manager .model-manager-settings > label { @@ -455,68 +502,3 @@ .search-settings-text { width: 100%; } - -.model-manager textarea { - width: 100%; - font-size: 1.2em; - border: solid 2px var(--border-color); - border-radius: 8px; - resize: vertical; -} - -.model-preview-select-radio-container { - min-width: 0; - flex: 1; -} - -.model-manager input[type="file"] { - flex: 1; -} - -.model-preview-select-radio-container img { - position: relative; - width: 230px; - height: 345px; - text-align: center; - overflow: hidden; - border-radius: 8px; - object-fit: cover; -} - -.model-manager [data-name="Download"] summary { - padding: 16px; -} - -.model-manager [data-name="Download"] .download-settings { - flex: 1; -} - -.model-manager .model-info-view { - background-color: var(--bg-color); - border: 2px solid var(--border-color); - box-sizing: border-box; - display: flex; - flex-direction: column; - height: 100%; - margin-top: 40px; - overflow-wrap: break-word; - overflow-y: auto; - padding: 20px; -} - -.model-manager .model-info-container { - background-color: var(--bg-color); - border-radius: 16px; - color: var(--fg-color); - width: auto; -} - -.model-manager .no-select { - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.model-manager .download-model-infos { - padding: 16px 0; -} From fe67e6981ab26f5b63535e0701006a1b0ba1ddf3 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 04:27:10 -0500 Subject: [PATCH 73/79] Add names to html elements. - Updated README. --- README.md | 21 ++++++++------------- __init__.py | 2 -- web/model-manager.js | 42 +++++++++++++++++++++++++++++++----------- 3 files changed, 39 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 8fe4679..5785ffc 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,7 @@ Download, browse and delete models in ComfyUI. Model Manager Demo Screenshot -## About this fork - -I made this fork because the original repo was inactive and missing many things I needed to make ComfyUI more usable. Also, many other custom nodes bundle unrelated features together or search the internet in the background. - -## Fork Improvements +## Features ### Download Tab @@ -53,8 +49,14 @@ I made this fork because the original repo was inactive and missing many things - Show/Hide add embedding extension. - Colors follow ComfyUI's current theme. +
        + + + ## TODO + + ### Download Model - Checkbox to optionally save description in `.txt` file for Civitai. (what about "About Model"?) @@ -101,11 +103,4 @@ I made this fork because the original repo was inactive and missing many things - Favorites - Swap between `and` and `or` keyword search? (currently `and`) -### Code - -- Javascript cleanup. - - Stop abusing popup/modal. - - Better abstraction and objectification. (After codebase settles down) - - Separate into classes per tab? - - HTML generation all inside main class? - - More server driven, HTMX-like HTML generation? (Avoid x2 states) +
        diff --git a/__init__.py b/__init__.py index bbca1d9..a4804c2 100644 --- a/__init__.py +++ b/__init__.py @@ -105,8 +105,6 @@ def search_path_to_system_path(model_path): ) return (system_path, model_path_type) - -print() def get_safetensor_header(path): diff --git a/web/model-manager.js b/web/model-manager.js index 753a589..a5b2535 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -212,6 +212,7 @@ function $checkbox(x = { $: (el) => {}, textContent: "", checked: false }) { const text = x.textContent; const input = $el("input", { type: "checkbox", + name: text ?? "checkbox", checked: x.checked ?? false, }); const label = $el("label", [ @@ -234,7 +235,7 @@ function $radioGroup(attr) { /** @type {HTMLDivElement[]} */ const radioGroup = options.map((item, index) => { const inputRef = { value: null }; - + return $el( "div.comfy-radio", { onclick: () => inputRef.value.click() }, @@ -251,7 +252,10 @@ function $radioGroup(attr) { ); }); - const element = $el("input", { value: options[0]?.value }); + const element = $el("input", { + name: name + "-group", + value: options[0]?.value, + }); $?.(element); radioGroup.forEach((radio) => { @@ -457,6 +461,7 @@ class ImageSelect { const el_uploadFile = $el("input", { $: (el) => (this.elements.uploadFile = el), type: "file", + name: "upload preview image", accept: IMAGE_EXTENSIONS.join(", "), onchange: (e) => { const file = e.target.files[0]; @@ -486,6 +491,7 @@ class ImageSelect { const el_customUrl = $el("input.search-text-area", { $: (el) => (this.elements.customUrl = el), type: "text", + name: "custom preview image url", placeholder: "https://custom-image-preview.png", }); const el_custom = $el("div.row.tab-header-flex-block", { @@ -566,14 +572,14 @@ class ImageSelect { break; } }, - options: (() => { - const radios = []; - radios.push({ value: this.#PREVIEW_DEFAULT }); - radios.push({ value: this.#PREVIEW_UPLOAD }) - radios.push({ value: this.#PREVIEW_URL }); - radios.push({ value: this.#PREVIEW_NONE }); - return radios; - })(), + options: [ + this.#PREVIEW_DEFAULT, + this.#PREVIEW_URL, + this.#PREVIEW_UPLOAD, + this.#PREVIEW_NONE, + ].map((value) => { + return { value: value, }; + }), }); this.elements.radioButtons = el_radioButtons; @@ -1378,6 +1384,7 @@ class ModelInfoView { */ constructor(modelDirectories, updateModels, searchSeparator) { const moveDestinationInput = $el("input.search-text-area", { + name: "move directory", placeholder: searchSeparator, }); @@ -1710,6 +1717,7 @@ class ModelInfoView { if (key === "Notes") { elements.push($el("h2", [key + ":"])); const noteArea = $el("textarea.comfy-multiline-input", { + name: "model notes", value: value, rows: 10, }); @@ -2084,7 +2092,9 @@ class DownloadTab { info["images"], ); - const el_modelTypeSelect = $el("select.model-select-dropdown", (() => { + const el_modelTypeSelect = $el("select.model-select-dropdown", { + name: "model select dropdown", + }, (() => { const options = [$el("option", { value: "" }, ["-- Model Type --"])]; modelTypes.forEach((modelType) => { options.push($el("option", { value: modelType }, [modelType])); @@ -2094,6 +2104,7 @@ class DownloadTab { const el_saveDirectoryPath = $el("input.search-text-area", { type: "text", + name: "save directory", placeholder: searchSeparator + "0", value: searchSeparator + "0", }); @@ -2117,6 +2128,7 @@ class DownloadTab { const el_filename = $el("input.plain-text-area", { type: "text", + name: "model save file name", placeholder: (() => { const filename = info["fileName"]; // TODO: only remove valid model file extensions @@ -2347,6 +2359,7 @@ class DownloadTab { $el("input.search-text-area", { $: (el) => (this.elements.url = el), type: "text", + name: "model download url", placeholder: "example: https://civitai.com/models/207992/stable-video-diffusion-svd", onkeydown: (e) => { if (e.key === "Enter") { @@ -2397,6 +2410,8 @@ class ModelTab { const searchInput = $el("input.search-text-area", { $: (el) => (this.elements.modelContentFilter = el), + type: "text", + name: "model search", placeholder: "example: /0/1.5/styles/clothing -.pt", }); @@ -2426,6 +2441,7 @@ class ModelTab { $el("select.model-select-dropdown", { $: (el) => (this.elements.modelSortSelect = el), + name: "model select dropdown", onchange: () => updateModelGrid(), }, [ @@ -2580,6 +2596,7 @@ class SettingsTab { $el("input", { $: (el) => (settings["sidebar-default-width"] = el), type: "number", + name: "default sidebar width", value: 0.5, min: 0.0, max: 1.0, @@ -2591,6 +2608,7 @@ class SettingsTab { $el("input", { $: (el) => (settings["sidebar-default-height"] = el), type: "number", + name: "default sidebar height", textContent: "Default sidebar height", value: 0.5, min: 0.0, @@ -2605,6 +2623,7 @@ class SettingsTab { $el("p", ["Always include in model search:"]), $el("textarea.comfy-multiline-input", { $: (el) => (settings["model-search-always-append"] = el), + name: "always include in model search", placeholder: "example: -nsfw", }), ]), @@ -2638,6 +2657,7 @@ class SettingsTab { $el("input", { $: (el) => (settings["model-add-offset"] = el), type: "number", + name: "model add offset", step: 5, }), $el("p", ["Add model offset"]), From eaecf1ac8154442906d6179828429906a670df6f Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 04:30:43 -0500 Subject: [PATCH 74/79] Fix dropdown in README. --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 5785ffc..cf98ed3 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,7 @@ Download, browse and delete models in ComfyUI.
        - - -## TODO - - +

        TODO

        ### Download Model From cb809549d809728379ff0ba83c4b9c00104e6ccb Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 04:31:42 -0500 Subject: [PATCH 75/79] Fix README dropdown again. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cf98ed3..8bc8582 100644 --- a/README.md +++ b/README.md @@ -49,9 +49,11 @@ Download, browse and delete models in ComfyUI. - Show/Hide add embedding extension. - Colors follow ComfyUI's current theme. +## TODO +
        -

        TODO

        + ### Download Model From 802ec85191e8d0a506c64ad706b3b4f6158f0784 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 18:02:03 -0500 Subject: [PATCH 76/79] Disable named input built-in auto-complete. --- web/model-manager.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/web/model-manager.js b/web/model-manager.js index a5b2535..d69ea05 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -492,6 +492,7 @@ class ImageSelect { $: (el) => (this.elements.customUrl = el), type: "text", name: "custom preview image url", + autocomplete: "off", placeholder: "https://custom-image-preview.png", }); const el_custom = $el("div.row.tab-header-flex-block", { @@ -1385,6 +1386,7 @@ class ModelInfoView { constructor(modelDirectories, updateModels, searchSeparator) { const moveDestinationInput = $el("input.search-text-area", { name: "move directory", + autocomplete: "off", placeholder: searchSeparator, }); @@ -2105,6 +2107,7 @@ class DownloadTab { const el_saveDirectoryPath = $el("input.search-text-area", { type: "text", name: "save directory", + autocomplete: "off", placeholder: searchSeparator + "0", value: searchSeparator + "0", }); @@ -2129,6 +2132,7 @@ class DownloadTab { const el_filename = $el("input.plain-text-area", { type: "text", name: "model save file name", + autocomplete: "off", placeholder: (() => { const filename = info["fileName"]; // TODO: only remove valid model file extensions @@ -2360,6 +2364,7 @@ class DownloadTab { $: (el) => (this.elements.url = el), type: "text", name: "model download url", + autocomplete: "off", placeholder: "example: https://civitai.com/models/207992/stable-video-diffusion-svd", onkeydown: (e) => { if (e.key === "Enter") { @@ -2412,6 +2417,7 @@ class ModelTab { $: (el) => (this.elements.modelContentFilter = el), type: "text", name: "model search", + autocomplete: "off", placeholder: "example: /0/1.5/styles/clothing -.pt", }); From a0ebb4e149670a59b5fd6a02dac7bf2bcec56f76 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Tue, 27 Feb 2024 18:18:11 -0500 Subject: [PATCH 77/79] Old model name in rename window prompt. --- web/model-manager.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index d69ea05..fcfc111 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1617,18 +1617,18 @@ class ModelInfoView { $el("button.icon-button", { textContent: "✎", onclick: async(e) => { - const name = window.prompt("New model name:"); + const container = this.elements.info; + const oldFile = container.dataset.path; + const [oldFilePath, oldFileName] = SearchPath.split(oldFile); + const oldName = SearchPath.splitExtension(oldFileName)[0]; + const newName = window.prompt("New model name:", oldName); let renamed = false; - if (name !== null && name !== "") { - const container = this.elements.info; - const oldFile = container.dataset.path; - const [oldFilePath, oldFileName] = SearchPath.split(oldFile); - const [_, extension] = SearchPath.splitExtension(oldFile); + if (newName !== null && newName !== "" && newName != oldName) { const newFile = ( oldFilePath + searchSeparator + - name + - extension + newName + + SearchPath.splitExtension(oldFile)[1] ); renamed = await request( `/model-manager/model/move`, From bf0ffd0bdbc281f4f7319bc57d7a90275e5a08a8 Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 28 Feb 2024 14:39:26 -0500 Subject: [PATCH 78/79] Fix file input overflowing on moblie. --- web/model-manager.css | 3 ++- web/model-manager.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/web/model-manager.css b/web/model-manager.css index 79f81bf..df5109d 100644 --- a/web/model-manager.css +++ b/web/model-manager.css @@ -49,7 +49,7 @@ } .model-manager input[type="file"] { - flex: 1; + width: 100%; } .model-manager button, @@ -235,6 +235,7 @@ .model-manager [data-name="Download"] summary { padding: 16px; + word-wrap: break-word; } .model-manager [data-name="Download"] .download-settings { diff --git a/web/model-manager.js b/web/model-manager.js index fcfc111..bfe54b9 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -473,7 +473,7 @@ class ImageSelect { } }, }); - const el_upload = $el("div", { + const el_upload = $el("div.row.tab-header-flex-block", { $: (el) => (this.elements.upload = el), style: { display: "none" }, }, [ From dcafca07f053031a4908d652a1767d799b96a73e Mon Sep 17 00:00:00 2001 From: Christian Bastian Date: Wed, 28 Feb 2024 19:35:59 -0500 Subject: [PATCH 79/79] Show more model metadata in Model Info view. - In model tab, optionally view embedded thumbnails in safetensors (slow if there are many safetensors without previews). --- __init__.py | 123 ++++++++++++++++++++++++++++++++++++------- web/model-manager.js | 15 +++++- 2 files changed, 119 insertions(+), 19 deletions(-) diff --git a/__init__.py b/__init__.py index a4804c2..c3f8154 100644 --- a/__init__.py +++ b/__init__.py @@ -7,6 +7,7 @@ import sys import copy import importlib import re +import base64 from aiohttp import web import server @@ -149,6 +150,7 @@ def ui_rules(): Rule("model-search-always-append", "", str), Rule("model-persistent-search", True, bool), Rule("model-show-label-extensions", False, bool), + Rule("model-preview-fallback-search-safetensors-thumbnail", False, bool), Rule("model-show-add-button", True, bool), Rule("model-show-copy-button", True, bool), Rule("model-add-embedding-extension", False, bool), @@ -193,17 +195,28 @@ async def get_model_preview(request): image_path = no_preview_image image_extension = "png" - + image_data = None if uri != "no-preview": sep = os.path.sep - uri = uri.replace("/" if sep == "\\" else "/", os.path.sep) - image_path, _ = search_path_to_system_path(uri) - if os.path.exists(image_path): - _, image_extension = os.path.splitext(uri) - image_extension = image_extension[1:] + uri = uri.replace("/" if sep == "\\" else "/", sep) + path, _ = search_path_to_system_path(uri) + head, extension = os.path.splitext(path) + if os.path.exists(path): + image_extension = extension[1:] + image_path = path + elif os.path.exists(head) and os.path.splitext(head)[1] == ".safetensors": + image_extension = extension[1:] + header = get_safetensor_header(head) + metadata = header.get("__metadata__", None) + if metadata is not None: + thumbnail = metadata.get("modelspec.thumbnail", None) + if thumbnail is not None: + image_data = thumbnail.split(',')[1] + image_data = base64.b64decode(image_data) - with open(image_path, "rb") as img_file: - image_data = img_file.read() + if image_data == None: + with open(image_path, "rb") as file: + image_data = file.read() return web.Response(body=image_data, content_type="image/" + image_extension) @@ -267,7 +280,12 @@ async def delete_model_preview(request): @server.PromptServer.instance.routes.get("/model-manager/models/list") -async def load_download_models(request): +async def get_model_list(request): + use_safetensor_thumbnail = ( + config_loader.yaml_load(ui_settings_uri, ui_rules()) + .get("model-preview-fallback-search-safetensors-thumbnail", False) + ) + model_types = os.listdir(comfyui_model_uri) model_types.remove("configs") model_types.sort() @@ -277,7 +295,7 @@ async def load_download_models(request): model_extensions = tuple(folder_paths_get_supported_pt_extensions(model_type)) file_infos = [] for base_path_index, model_base_path in enumerate(folder_paths_get_folder_paths(model_type)): - if not os.path.exists(model_base_path): # Bug in main code? + if not os.path.exists(model_base_path): # TODO: Bug in main code? ("ComfyUI\output\checkpoints", "ComfyUI\output\clip", "ComfyUI\models\t2i_adapter", "ComfyUI\output\vae") continue for cwd, _subdirs, files in os.walk(model_base_path): dir_models = [] @@ -290,7 +308,7 @@ async def load_download_models(request): dir_images.append(file) for model in dir_models: - model_name, _ = os.path.splitext(model) + model_name, model_ext = os.path.splitext(model) image = None image_modified = None for iImage in range(len(dir_images)-1, -1, -1): @@ -304,6 +322,19 @@ async def load_download_models(request): stats = pathlib.Path(abs_path).stat() model_modified = stats.st_mtime_ns model_created = stats.st_ctime_ns + if use_safetensor_thumbnail and image is None and model_ext == ".safetensors": + # try to fallback on safetensor embedded thumbnail + header = get_safetensor_header(abs_path) + metadata = header.get("__metadata__", None) + if metadata is not None: + thumbnail = metadata.get("modelspec.thumbnail", None) + if thumbnail is not None: + i0 = thumbnail.find("/") + 1 + i1 = thumbnail.find(";") + image_ext = "." + thumbnail[i0:i1] + if image_ext in image_extensions: + image = model + image_ext + image_modified = model_modified rel_path = "" if cwd == model_base_path else os.path.relpath(cwd, model_base_path) info = (model, image, base_path_index, rel_path, model_modified, model_created, image_modified) file_infos.append(info) @@ -386,7 +417,7 @@ def linear_directory_hierarchy(refresh = False): @server.PromptServer.instance.routes.get("/model-manager/models/directory-list") -async def directory_list(request): +async def get_directory_list(request): #body = await request.json() dir_list = linear_directory_hierarchy(True) #json.dump(dir_list, sys.stdout, indent=4) @@ -510,9 +541,10 @@ async def get_model_info(request): info["File Directory"] = path info["File Size"] = str(os.path.getsize(file)) + " bytes" stats = pathlib.Path(file).stat() - date_format = "%Y/%m/%d %H:%M:%S" + date_format = "%Y-%m-%d %H:%M:%S" + date_modified = datetime.fromtimestamp(stats.st_mtime).strftime(date_format) + info["Date Modified"] = date_modified info["Date Created"] = datetime.fromtimestamp(stats.st_ctime).strftime(date_format) - info["Date Modified"] = datetime.fromtimestamp(stats.st_mtime).strftime(date_format) file_name, _ = os.path.splitext(file) @@ -529,11 +561,66 @@ async def get_model_info(request): header = get_safetensor_header(file) metadata = header.get("__metadata__", None) + #json.dump(metadata, sys.stdout, indent=4) + #print() + + if metadata is not None and info.get("Preview", None) is None: + thumbnail = metadata.get("modelspec.thumbnail") + if thumbnail is not None: + i0 = thumbnail.find("/") + 1 + i1 = thumbnail.find(";", i0) + thumbnail_extension = "." + thumbnail[i0:i1] + if thumbnail_extension in image_extensions: + info["Preview"] = { + "path": request.query["path"] + thumbnail_extension, + "dateModified": date_modified, + } + if metadata is not None: - info["Base Model"] = metadata.get("ss_sd_model_name", "") - info["Clip Skip"] = metadata.get("ss_clip_skip", "") - info["Hash"] = metadata.get("sshs_model_hash", "") - info["Output Name"] = metadata.get("ss_output_name", "") + train_end = metadata.get("modelspec.date", "").replace("T", " ") + train_start = metadata.get("ss_training_started_at", "") + if train_start != "": + try: + train_start = float(train_start) + train_start = datetime.fromtimestamp(train_start).strftime(date_format) + except: + train_start = "" + info["Date Trained"] = ( + train_start + + (" ... " if train_start != "" and train_end != "" else "") + + train_end + ) + + info["Base Training Model"] = metadata.get("ss_sd_model_name", "") + info["Base Model"] = metadata.get("ss_base_model_version", "") + info["Architecture"] = metadata.get("modelspec.architecture", "") # "stable-diffusion-xl-v1-base" + + clip_skip = metadata.get("ss_clip_skip", "") + if clip_skip == "None": + clip_skip = "" + info["Clip Skip"] = clip_skip # default 1 (disable clip skip) + info["Model Sampling Type"] = metadata.get("modelspec.prediction_type", "") # "epsilon" + + # it is unclear what these are + #info["Hash SHA256"] = metadata.get("modelspec.hash_sha256", "") + #info["SSHS Model Hash"] = metadata.get("sshs_model_hash", "") + #info["SSHS Legacy Hash"] = metadata.get("sshs_legacy_hash", "") + #info["New SD Model Hash"] = metadata.get("ss_new_sd_model_hash", "") + + #info["Output Name"] = metadata.get("ss_output_name", "") + #info["Title"] = metadata.get("modelspec.title", "") + info["Author"] = metadata.get("modelspec.author", "") + info["License"] = metadata.get("modelspec.license", "") + + if metadata is not None: + training_comment = metadata.get("ss_training_comment", "") + info["Description"] = ( + metadata.get("modelspec.description", "") + + "\n\n" + + metadata.get("modelspec.usage_hint", "") + + "\n\n" + + training_comment if training_comment != "None" else "" + ).strip() txt_file = file_name + ".txt" notes = "" diff --git a/web/model-manager.js b/web/model-manager.js index bfe54b9..397a17d 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -1687,6 +1687,7 @@ class ModelInfoView { setPreviewButton, ]), ]), + $el("h2", ["Details:"]), $el("div", (() => { const elements = []; @@ -1746,6 +1747,12 @@ class ModelInfoView { }, })); } + else if (key === "Description") { + if (value !== "") { + elements.push($el("h2", [key + ":"])); + elements.push($el("p", [value])); + } + } else if (key === "Preview") { // } @@ -2491,6 +2498,8 @@ class SettingsTab { /** @type {HTMLTextAreaElement} */ "model-search-always-append": null, /** @type {HTMLInputElement} */ "model-persistent-search": null, /** @type {HTMLInputElement} */ "model-show-label-extensions": null, + /** @type {HTMLInputElement} */ "model-preview-fallback-search-safetensors-thumbnail": null, + /** @type {HTMLInputElement} */ "model-show-add-button": null, /** @type {HTMLInputElement} */ "model-show-copy-button": null, /** @type {HTMLInputElement} */ "model-add-embedding-extension": null, @@ -2642,6 +2651,10 @@ class SettingsTab { $: (el) => (settings["model-show-label-extensions"] = el), textContent: "Show model file extension in labels", }), + $checkbox({ + $: (el) => (settings["model-preview-fallback-search-safetensors-thumbnail"] = el), + textContent: "Fallback on embedded thumbnail in safetensors (refresh slow)", + }), $checkbox({ $: (el) => (settings["model-show-add-button"] = el), textContent: "Show add button", @@ -2931,7 +2944,7 @@ app.registerExtension({ rel: "stylesheet", href: "./extensions/ComfyUI-Model-Manager/model-manager.css", }); - + app.ui.menuContainer.appendChild( $el("button", { id: "comfyui-model-manager-button",