From 2d71b3e647f20e8945431f79d222e59cdc1db0f7 Mon Sep 17 00:00:00 2001 From: yolain Date: Tue, 15 Jul 2025 18:02:12 +0800 Subject: [PATCH] Update StylesSelector --- ComfyUI-Easy-Use-Frontend | 2 +- locales/en/main.json | 3 +- locales/zh/main.json | 3 +- locales/zh/settings.json | 8 + py/nodes/prompt.py | 19 +- py/routes.py | 27 +- resources/fooocus_styles.json | 3296 ++++++++++------- resources/fooocus_styles_cn.json | 279 -- web_version/v2/assets/extensions-H2sIrZX5.js | 1 - web_version/v2/assets/extensions-QJQxdpGv.js | 1 + ...mevue-q3lWDayI.js => primevue-CkFdRR_N.js} | 2 +- ...{vendor-DcaQJ8Sr.js => vendor-BWlTOcRr.js} | 4 +- web_version/v2/assets/vue-CYk3Qk0T.js | 23 - web_version/v2/assets/vue-DAoaJb2i.js | 23 + web_version/v2/assets/vueuse-CY3xMy5t.js | 1 - web_version/v2/assets/vueuse-CqzKat4r.js | 1 + web_version/v2/easyuse.js | 4 +- 17 files changed, 2002 insertions(+), 1695 deletions(-) delete mode 100644 resources/fooocus_styles_cn.json delete mode 100644 web_version/v2/assets/extensions-H2sIrZX5.js create mode 100644 web_version/v2/assets/extensions-QJQxdpGv.js rename web_version/v2/assets/{primevue-q3lWDayI.js => primevue-CkFdRR_N.js} (78%) rename web_version/v2/assets/{vendor-DcaQJ8Sr.js => vendor-BWlTOcRr.js} (64%) delete mode 100644 web_version/v2/assets/vue-CYk3Qk0T.js create mode 100644 web_version/v2/assets/vue-DAoaJb2i.js delete mode 100644 web_version/v2/assets/vueuse-CY3xMy5t.js create mode 100644 web_version/v2/assets/vueuse-CqzKat4r.js diff --git a/ComfyUI-Easy-Use-Frontend b/ComfyUI-Easy-Use-Frontend index fad0668..7a35796 160000 --- a/ComfyUI-Easy-Use-Frontend +++ b/ComfyUI-Easy-Use-Frontend @@ -1 +1 @@ -Subproject commit fad06680fcfd729464e57ba46d886717e8e95bdb +Subproject commit 7a3579696adfd92f300720b333be9e8a3caf2f3d diff --git a/locales/en/main.json b/locales/en/main.json index 3f27159..f5b4fb1 100644 --- a/locales/en/main.json +++ b/locales/en/main.json @@ -2,7 +2,8 @@ "settingsCategories": { "Hotkeys": "Hotkeys", "Nodes": "Nodes", - "NodesMap": "NodesMap" + "NodesMap": "NodesMap", + "StylesSelector": "StylesSelector" }, "nodeCategories": { "Util": "Util", diff --git a/locales/zh/main.json b/locales/zh/main.json index d6b0f04..f8bbe90 100644 --- a/locales/zh/main.json +++ b/locales/zh/main.json @@ -2,7 +2,8 @@ "settingsCategories": { "Hotkeys": "快捷键", "Nodes": "节点相关", - "NodesMap": "管理节点组" + "NodesMap": "管理节点组", + "StylesSelector": "样式选择器" }, "nodeCategories": { "Util": "工具", diff --git a/locales/zh/settings.json b/locales/zh/settings.json index 84a1ac2..f1ea3e6 100644 --- a/locales/zh/settings.json +++ b/locales/zh/settings.json @@ -63,5 +63,13 @@ "EasyUse_NodesMap_Enable": { "name": "启用管理节点组", "tooltip": "您需要刷新页面以成功更新" + }, + "EasyUse_StylesSelector_DisplayType": { + "name": "样式选择器显示类型", + "tooltip": "样式选择器显示类型,如果设置为“网格”,则显示为网格,如果设置为“列表”,则显示为列表", + "options": { + "Gird": "网格", + "List": "列表" + } } } \ No newline at end of file diff --git a/py/nodes/prompt.py b/py/nodes/prompt.py index 650a378..b596d07 100644 --- a/py/nodes/prompt.py +++ b/py/nodes/prompt.py @@ -158,6 +158,7 @@ class stylesPromptSelector: file = os.path.join(styles_dir, file_name) if os.path.isfile(file) and file_name.endswith(".json"): styles.append(file_name.split(".")[0]) + return { "required": { "styles": (styles, {"default": "fooocus_styles"}), @@ -165,6 +166,7 @@ class stylesPromptSelector: "optional": { "positive": ("STRING", {"forceInput": True}), "negative": ("STRING", {"forceInput": True}), + "select_styles": ("EASY_PROMPT_STYLES", {}), }, "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO", "my_unique_id": "UNIQUE_ID"}, } @@ -175,7 +177,7 @@ class stylesPromptSelector: CATEGORY = 'EasyUse/Prompt' FUNCTION = 'run' - def run(self, styles, positive='', negative='', prompt=None, extra_pnginfo=None, my_unique_id=None): + def run(self, styles, positive='', negative='', select_styles=None, prompt=None, extra_pnginfo=None, my_unique_id=None): values = [] all_styles = {} positive_prompt, negative_prompt = '', negative @@ -188,9 +190,14 @@ class stylesPromptSelector: f.close() for d in data: all_styles[d['name']] = d - if my_unique_id in prompt: - if prompt[my_unique_id]["inputs"]['select_styles']: - values = prompt[my_unique_id]["inputs"]['select_styles'].split(',') + # if my_unique_id in prompt: + # if prompt[my_unique_id]["inputs"]['select_styles']: + # values = prompt[my_unique_id]["inputs"]['select_styles'].split(',') + + if isinstance(select_styles, str): + values = select_styles.split(',') + else: + values = select_styles if select_styles else [] has_prompt = False if len(values) == 0: @@ -201,8 +208,10 @@ class stylesPromptSelector: if "{prompt}" in all_styles[val]['prompt'] and has_prompt == False: positive_prompt = all_styles[val]['prompt'].replace('{prompt}', positive) has_prompt = True - else: + elif "{prompt}" in all_styles[val]['prompt']: positive_prompt += ', ' + all_styles[val]['prompt'].replace(', {prompt}', '').replace('{prompt}', '') + else: + positive_prompt = all_styles[val]['prompt'] if positive_prompt == '' else positive_prompt + ', ' + all_styles[val]['prompt'] if 'negative_prompt' in all_styles[val]: negative_prompt += ', ' + all_styles[val]['negative_prompt'] if negative_prompt else all_styles[val]['negative_prompt'] diff --git a/py/routes.py b/py/routes.py index a75f8be..39835f8 100644 --- a/py/routes.py +++ b/py/routes.py @@ -98,18 +98,30 @@ async def getStylesList(request): ndata = [] for d in data: nd = {} - name = d['name'].replace('-', ' ') - words = name.split(' ') + style_name = d['name'].replace('-', ' ') + words = style_name.split(' ') key = ' '.join( word.upper() if word.lower() in ['mre', 'sai', '3d'] else word.capitalize() for word in words) - img_name = '_'.join(words).lower() if "name_cn" in d: nd['name_cn'] = d['name_cn'] elif cn_data: nd['name_cn'] = cn_data[key] if key in cn_data else key nd["name"] = d['name'] - nd['imgName'] = img_name + if "thumbnail" in d: + thumbnail = d['thumbnail'] + if isinstance(d['thumbnail'], str): + nd['thumbnail'] = thumbnail if "http" in thumbnail else f'/easyuse/prompt/styles/image?path={thumbnail}' + elif isinstance(d['thumbnail'], list): + nd['thumbnail'] = thumbnail + else: + nd['thumbnail'] = f'/easyuse/prompt/styles/image?name={name}&styles_name={style_name}' + if "thumbnail_variant" in d: + nd['thumbnailVariant'] = d['thumbnail_variant'] + if "media_type" in d: + nd['mediaType'] = d['media_type'] + if "media_subtype" in d: + nd['mediaSubtype'] = d['media_subtype'] if "prompt" in d: nd['prompt'] = d['prompt'] if "negative_prompt" in d: @@ -122,7 +134,12 @@ async def getStylesList(request): @PromptServer.instance.routes.get("/easyuse/prompt/styles/image") async def getStylesImage(request): styles_name = request.rel_url.query["styles_name"] if "styles_name" in request.rel_url.query else None - if "name" in request.rel_url.query: + if "path" in request.rel_url.query: + path = request.rel_url.query["path"] + file = os.path.join(FOOOCUS_STYLES_DIR, path) + if os.path.isfile(file): + return web.FileResponse(file) + elif "name" in request.rel_url.query: name = request.rel_url.query["name"] if os.path.exists(os.path.join(FOOOCUS_STYLES_DIR, 'samples')): file = os.path.join(FOOOCUS_STYLES_DIR, 'samples', name + '.jpg') diff --git a/resources/fooocus_styles.json b/resources/fooocus_styles.json index 8e6fdcd..b1db960 100644 --- a/resources/fooocus_styles.json +++ b/resources/fooocus_styles.json @@ -1,1375 +1,1925 @@ [ - { - "name": "Fooocus Enhance", - "negative_prompt": "(worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art:1.4), (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name:1.2), (blur, blurry, grainy), morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur:1.3), (3D ,3D Game, 3D Game Scene, 3D Character:1.1), (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities:1.3)" - }, - { - "name": "Fooocus Sharp", - "prompt": "cinematic still {prompt} . emotional, harmonious, vignette, 4k epic detailed, shot on kodak, 35mm photo, sharp focus, high budget, cinemascope, moody, epic, gorgeous, film grain, grainy", - "negative_prompt": "anime, cartoon, graphic, (blur, blurry, bokeh), text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured" - }, - { - "name": "Fooocus Masterpiece", - "prompt": "(masterpiece), (best quality), (ultra-detailed), {prompt}, illustration, disheveled hair, detailed eyes, perfect composition, moist skin, intricate details, earrings, by wlop", - "negative_prompt": "longbody, lowres, bad anatomy, bad hands, missing fingers, pubic hair,extra digit, fewer digits, cropped, worst quality, low quality" - }, - { - "name": "Fooocus Photograph", - "prompt": "photograph {prompt}, 50mm . cinematic 4k epic detailed 4k epic detailed photograph shot on kodak detailed cinematic hbo dark moody, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage", - "negative_prompt": "Brad Pitt, bokeh, depth of field, blurry, cropped, regular face, saturated, contrast, deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime, text, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck" - }, - { - "name": "Fooocus Negative", - "negative_prompt": "deformed, bad anatomy, disfigured, poorly drawn face, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, disconnected head, malformed hands, long neck, mutated hands and fingers, bad hands, missing fingers, cropped, worst quality, low quality, mutation, poorly drawn, huge calf, bad hands, fused hand, missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs, missing fingers, fused fingers, abnormal eye proportion, Abnormal hands, abnormal legs, abnormal feet, abnormal fingers, drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly, anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch" - }, - { - "name": "Fooocus Cinematic", - "prompt": "cinematic still {prompt} . emotional, harmonious, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy", - "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured" - }, - { - "name": "sai-3d-model", - "prompt": "professional 3d model {prompt} . octane render, highly detailed, volumetric, dramatic lighting", - "negative_prompt": "ugly, deformed, noisy, low poly, blurry, painting" - }, - { - "name": "sai-analog film", - "prompt": "analog film photo {prompt} . faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage", - "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured" - }, - { - "name": "sai-anime", - "prompt": "anime artwork {prompt} . anime style, key visual, vibrant, studio anime, highly detailed", - "negative_prompt": "photo, deformed, black and white, realism, disfigured, low contrast" - }, - { - "name": "sai-cinematic", - "prompt": "cinematic film still {prompt} . shallow depth of field, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy", - "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured" - }, - { - "name": "sai-comic book", - "prompt": "comic {prompt} . graphic illustration, comic art, graphic novel art, vibrant, highly detailed", - "negative_prompt": "photograph, deformed, glitch, noisy, realistic, stock photo" - }, - { - "name": "sai-craft clay", - "prompt": "play-doh style {prompt} . sculpture, clay art, centered composition, Claymation", - "negative_prompt": "sloppy, messy, grainy, highly detailed, ultra textured, photo" - }, - { - "name": "sai-digital art", - "prompt": "concept art {prompt} . digital artwork, illustrative, painterly, matte painting, highly detailed", - "negative_prompt": "photo, photorealistic, realism, ugly" - }, - { - "name": "sai-enhance", - "prompt": "breathtaking {prompt} . award-winning, professional, highly detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy" - }, - { - "name": "sai-fantasy art", - "prompt": "ethereal fantasy concept art of {prompt} . magnificent, celestial, ethereal, painterly, epic, majestic, magical, fantasy art, cover art, dreamy", - "negative_prompt": "photographic, realistic, realism, 35mm film, dslr, cropped, frame, text, deformed, glitch, noise, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white" - }, - { - "name": "sai-isometric", - "prompt": "isometric style {prompt} . vibrant, beautiful, crisp, detailed, ultra detailed, intricate", - "negative_prompt": "deformed, mutated, ugly, disfigured, blur, blurry, noise, noisy, realistic, photographic" - }, - { - "name": "sai-line art", - "prompt": "line art drawing {prompt} . professional, sleek, modern, minimalist, graphic, line art, vector graphics", - "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, blurry, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, mutated, realism, realistic, impressionism, expressionism, oil, acrylic" - }, - { - "name": "sai-lowpoly", - "prompt": "low-poly style {prompt} . low-poly game art, polygon mesh, jagged, blocky, wireframe edges, centered composition", - "negative_prompt": "noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo" - }, - { - "name": "sai-neonpunk", - "prompt": "neonpunk style {prompt} . cyberpunk, vaporwave, neon, vibes, vibrant, stunningly beautiful, crisp, detailed, sleek, ultramodern, magenta highlights, dark purple shadows, high contrast, cinematic, ultra detailed, intricate, professional", - "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured" - }, - { - "name": "sai-origami", - "prompt": "origami style {prompt} . paper art, pleated paper, folded, origami art, pleats, cut and fold, centered composition", - "negative_prompt": "noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo" - }, - { - "name": "sai-photographic", - "prompt": "cinematic photo {prompt} . 35mm photograph, film, bokeh, professional, 4k, highly detailed", - "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly" - }, - { - "name": "sai-pixel art", - "prompt": "pixel-art {prompt} . low-res, blocky, pixel art style, 8-bit graphics", - "negative_prompt": "sloppy, messy, blurry, noisy, highly detailed, ultra textured, photo, realistic" - }, - { - "name": "sai-texture", - "prompt": "texture {prompt} top down close-up", - "negative_prompt": "ugly, deformed, noisy, blurry" - }, - { - "name": "mre-cinematic-dynamic", - "prompt": "epic cinematic shot of dynamic {prompt} in motion. main subject of high budget action movie. raw photo, motion blur. best quality, high resolution", - "negative_prompt": "static, still, motionless, sluggish. drawing, painting, illustration, rendered. low budget. low quality, low resolution" - }, - { - "name": "mre-spontaneous-picture", - "prompt": "spontaneous picture of {prompt}, taken by talented amateur. best quality, high resolution. magical moment, natural look. simple but good looking", - "negative_prompt": "overthinked. low quality, low resolution" - }, - { - "name": "mre-artistic-vision", - "prompt": "powerful artistic vision of {prompt}. breathtaking masterpiece made by great artist. best quality, high resolution", - "negative_prompt": "insignificant, flawed, made by bad artist. low quality, low resolution" - }, - { - "name": "mre-dark-dream", - "prompt": "dark and unsettling dream showing {prompt}. best quality, high resolution. created by genius but depressed mad artist. grim beauty", - "negative_prompt": "naive, cheerful. comfortable, casual, boring, cliche. low quality, low resolution" - }, - { - "name": "mre-gloomy-art", - "prompt": "astonishing gloomy art made mainly of shadows and lighting, forming {prompt}. masterful usage of lighting, shadows and chiaroscuro. made by black-hearted artist, drawing from darkness. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-bad-dream", - "prompt": "picture from really bad dream about terrifying {prompt}, true horror. bone-chilling vision. mad world that shouldn't exist. best quality, high resolution", - "negative_prompt": "nice dream, pleasant experience. low quality, low resolution" - }, - { - "name": "mre-underground", - "prompt": "uncanny caliginous vision of {prompt}, created by remarkable underground artist. best quality, high resolution. raw and brutal art, careless but impressive style. inspired by darkness and chaos", - "negative_prompt": "photography, mainstream, civilized. low quality, low resolution" - }, - { - "name": "mre-surreal-painting", - "prompt": "surreal painting representing strange vision of {prompt}. harmonious madness, synergy with chance. unique artstyle, mindbending art, magical surrealism. best quality, high resolution", - "negative_prompt": "photography, illustration, drawing. realistic, possible. logical, sane. low quality, low resolution" - }, - { - "name": "mre-dynamic-illustration", - "prompt": "insanely dynamic illustration of {prompt}. best quality, high resolution. crazy artstyle, careless brushstrokes, emotional and fun", - "negative_prompt": "photography, realistic. static, still, slow, boring. low quality, low resolution" - }, - { - "name": "mre-undead-art", - "prompt": "long forgotten art created by undead artist illustrating {prompt}, tribute to the death and decay. miserable art of the damned. wretched and decaying world. best quality, high resolution", - "negative_prompt": "alive, playful, living. low quality, low resolution" - }, - { - "name": "mre-elemental-art", - "prompt": "art illustrating insane amounts of raging elemental energy turning into {prompt}, avatar of elements. magical surrealism, wizardry. best quality, high resolution", - "negative_prompt": "photography, realistic, real. low quality, low resolution" - }, - { - "name": "mre-space-art", - "prompt": "winner of inter-galactic art contest illustrating {prompt}, symbol of the interstellar singularity. best quality, high resolution. artstyle previously unseen in the whole galaxy", - "negative_prompt": "created by human race, low quality, low resolution" - }, - { - "name": "mre-ancient-illustration", - "prompt": "sublime ancient illustration of {prompt}, predating human civilization. crude and simple, but also surprisingly beautiful artwork, made by genius primeval artist. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-brave-art", - "prompt": "brave, shocking, and brutally true art showing {prompt}. inspired by courage and unlimited creativity. truth found in chaos. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-heroic-fantasy", - "prompt": "heroic fantasy painting of {prompt}, in the dangerous fantasy world. airbrush over oil on canvas. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-dark-cyberpunk", - "prompt": "dark cyberpunk illustration of brutal {prompt} in a world without hope, ruled by ruthless criminal corporations. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-lyrical-geometry", - "prompt": "geometric and lyrical abstraction painting presenting {prompt}. oil on metal. best quality, high resolution", - "negative_prompt": "photography, realistic, drawing, rendered. low quality, low resolution" - }, - { - "name": "mre-sumi-e-symbolic", - "prompt": "big long brushstrokes of deep black sumi-e turning into symbolic painting of {prompt}. master level raw art. best quality, high resolution", - "negative_prompt": "photography, rendered. low quality, low resolution" - }, - { - "name": "mre-sumi-e-detailed", - "prompt": "highly detailed black sumi-e painting of {prompt}. in-depth study of perfection, created by a master. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-manga", - "prompt": "manga artwork presenting {prompt}. created by japanese manga artist. highly emotional. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-anime", - "prompt": "anime artwork illustrating {prompt}. created by japanese anime studio. highly emotional. best quality, high resolution", - "negative_prompt": "low quality, low resolution" - }, - { - "name": "mre-comic", - "prompt": "breathtaking illustration from adult comic book presenting {prompt}. fabulous artwork. best quality, high resolution", - "negative_prompt": "deformed, ugly, low quality, low resolution" - }, - { - "name": "ads-advertising", - "prompt": "advertising poster style {prompt} . Professional, modern, product-focused, commercial, eye-catching, highly detailed", - "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive" - }, - { - "name": "ads-automotive", - "prompt": "automotive advertisement style {prompt} . sleek, dynamic, professional, commercial, vehicle-focused, high-resolution, highly detailed", - "negative_prompt": "noisy, blurry, unattractive, sloppy, unprofessional" - }, - { - "name": "ads-corporate", - "prompt": "corporate branding style {prompt} . professional, clean, modern, sleek, minimalist, business-oriented, highly detailed", - "negative_prompt": "noisy, blurry, grungy, sloppy, cluttered, disorganized" - }, - { - "name": "ads-fashion editorial", - "prompt": "fashion editorial style {prompt} . high fashion, trendy, stylish, editorial, magazine style, professional, highly detailed", - "negative_prompt": "outdated, blurry, noisy, unattractive, sloppy" - }, - { - "name": "ads-food photography", - "prompt": "food photography style {prompt} . appetizing, professional, culinary, high-resolution, commercial, highly detailed", - "negative_prompt": "unappetizing, sloppy, unprofessional, noisy, blurry" - }, - { - "name": "ads-gourmet food photography", - "prompt": "gourmet food photo of {prompt} . soft natural lighting, macro details, vibrant colors, fresh ingredients, glistening textures, bokeh background, styled plating, wooden tabletop, garnished, tantalizing, editorial quality", - "negative_prompt": "cartoon, anime, sketch, grayscale, dull, overexposed, cluttered, messy plate, deformed" - }, - { - "name": "ads-luxury", - "prompt": "luxury product style {prompt} . elegant, sophisticated, high-end, luxurious, professional, highly detailed", - "negative_prompt": "cheap, noisy, blurry, unattractive, amateurish" - }, - { - "name": "ads-real estate", - "prompt": "real estate photography style {prompt} . professional, inviting, well-lit, high-resolution, property-focused, commercial, highly detailed", - "negative_prompt": "dark, blurry, unappealing, noisy, unprofessional" - }, - { - "name": "ads-retail", - "prompt": "retail packaging style {prompt} . vibrant, enticing, commercial, product-focused, eye-catching, professional, highly detailed", - "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive" - }, - { - "name": "artstyle-abstract", - "prompt": "abstract style {prompt} . non-representational, colors and shapes, expression of feelings, imaginative, highly detailed", - "negative_prompt": "realistic, photographic, figurative, concrete" - }, - { - "name": "artstyle-abstract expressionism", - "prompt": "abstract expressionist painting {prompt} . energetic brushwork, bold colors, abstract forms, expressive, emotional", - "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, monochrome" - }, - { - "name": "artstyle-art deco", - "prompt": "art deco style {prompt} . geometric shapes, bold colors, luxurious, elegant, decorative, symmetrical, ornate, detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist" - }, - { - "name": "artstyle-art nouveau", - "prompt": "art nouveau style {prompt} . elegant, decorative, curvilinear forms, nature-inspired, ornate, detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist" - }, - { - "name": "artstyle-constructivist", - "prompt": "constructivist style {prompt} . geometric shapes, bold colors, dynamic composition, propaganda art style", - "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, abstract expressionism" - }, - { - "name": "artstyle-cubist", - "prompt": "cubist artwork {prompt} . geometric shapes, abstract, innovative, revolutionary", - "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy" - }, - { - "name": "artstyle-expressionist", - "prompt": "expressionist {prompt} . raw, emotional, dynamic, distortion for emotional effect, vibrant, use of unusual colors, detailed", - "negative_prompt": "realism, symmetry, quiet, calm, photo" - }, - { - "name": "artstyle-graffiti", - "prompt": "graffiti style {prompt} . street art, vibrant, urban, detailed, tag, mural", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic" - }, - { - "name": "artstyle-hyperrealism", - "prompt": "hyperrealistic art {prompt} . extremely high-resolution details, photographic, realism pushed to extreme, fine texture, incredibly lifelike", - "negative_prompt": "simplified, abstract, unrealistic, impressionistic, low resolution" - }, - { - "name": "artstyle-impressionist", - "prompt": "impressionist painting {prompt} . loose brushwork, vibrant color, light and shadow play, captures feeling over form", - "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy" - }, - { - "name": "artstyle-pointillism", - "prompt": "pointillism style {prompt} . composed entirely of small, distinct dots of color, vibrant, highly detailed", - "negative_prompt": "line drawing, smooth shading, large color fields, simplistic" - }, - { - "name": "artstyle-pop art", - "prompt": "pop Art style {prompt} . bright colors, bold outlines, popular culture themes, ironic or kitsch", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, minimalist" - }, - { - "name": "artstyle-psychedelic", - "prompt": "psychedelic style {prompt} . vibrant colors, swirling patterns, abstract forms, surreal, trippy", - "negative_prompt": "monochrome, black and white, low contrast, realistic, photorealistic, plain, simple" - }, - { - "name": "artstyle-renaissance", - "prompt": "renaissance style {prompt} . realistic, perspective, light and shadow, religious or mythological themes, highly detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, modernist, minimalist, abstract" - }, - { - "name": "artstyle-steampunk", - "prompt": "steampunk style {prompt} . antique, mechanical, brass and copper tones, gears, intricate, detailed", - "negative_prompt": "deformed, glitch, noisy, low contrast, anime, photorealistic" - }, - { - "name": "artstyle-surrealist", - "prompt": "surrealist art {prompt} . dreamlike, mysterious, provocative, symbolic, intricate, detailed", - "negative_prompt": "anime, photorealistic, realistic, deformed, glitch, noisy, low contrast" - }, - { - "name": "artstyle-typography", - "prompt": "typographic art {prompt} . stylized, intricate, detailed, artistic, text-based", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic" - }, - { - "name": "artstyle-watercolor", - "prompt": "watercolor painting {prompt} . vibrant, beautiful, painterly, detailed, textural, artistic", - "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy" - }, - { - "name": "futuristic-biomechanical", - "prompt": "biomechanical style {prompt} . blend of organic and mechanical elements, futuristic, cybernetic, detailed, intricate", - "negative_prompt": "natural, rustic, primitive, organic, simplistic" - }, - { - "name": "futuristic-biomechanical cyberpunk", - "prompt": "biomechanical cyberpunk {prompt} . cybernetics, human-machine fusion, dystopian, organic meets artificial, dark, intricate, highly detailed", - "negative_prompt": "natural, colorful, deformed, sketch, low contrast, watercolor" - }, - { - "name": "futuristic-cybernetic", - "prompt": "cybernetic style {prompt} . futuristic, technological, cybernetic enhancements, robotics, artificial intelligence themes", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval" - }, - { - "name": "futuristic-cybernetic robot", - "prompt": "cybernetic robot {prompt} . android, AI, machine, metal, wires, tech, futuristic, highly detailed", - "negative_prompt": "organic, natural, human, sketch, watercolor, low contrast" - }, - { - "name": "futuristic-cyberpunk cityscape", - "prompt": "cyberpunk cityscape {prompt} . neon lights, dark alleys, skyscrapers, futuristic, vibrant colors, high contrast, highly detailed", - "negative_prompt": "natural, rural, deformed, low contrast, black and white, sketch, watercolor" - }, - { - "name": "futuristic-futuristic", - "prompt": "futuristic style {prompt} . sleek, modern, ultramodern, high tech, detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vintage, antique" - }, - { - "name": "futuristic-retro cyberpunk", - "prompt": "retro cyberpunk {prompt} . 80's inspired, synthwave, neon, vibrant, detailed, retro futurism", - "negative_prompt": "modern, desaturated, black and white, realism, low contrast" - }, - { - "name": "futuristic-retro futurism", - "prompt": "retro-futuristic {prompt} . vintage sci-fi, 50s and 60s style, atomic age, vibrant, highly detailed", - "negative_prompt": "contemporary, realistic, rustic, primitive" - }, - { - "name": "futuristic-sci-fi", - "prompt": "sci-fi style {prompt} . futuristic, technological, alien worlds, space themes, advanced civilizations", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval" - }, - { - "name": "futuristic-vaporwave", - "prompt": "vaporwave style {prompt} . retro aesthetic, cyberpunk, vibrant, neon colors, vintage 80s and 90s style, highly detailed", - "negative_prompt": "monochrome, muted colors, realism, rustic, minimalist, dark" - }, - { - "name": "game-bubble bobble", - "prompt": "Bubble Bobble style {prompt} . 8-bit, cute, pixelated, fantasy, vibrant, reminiscent of Bubble Bobble game", - "negative_prompt": "realistic, modern, photorealistic, violent, horror" - }, - { - "name": "game-cyberpunk game", - "prompt": "cyberpunk game style {prompt} . neon, dystopian, futuristic, digital, vibrant, detailed, high contrast, reminiscent of cyberpunk genre video games", - "negative_prompt": "historical, natural, rustic, low detailed" - }, - { - "name": "game-fighting game", - "prompt": "fighting game style {prompt} . dynamic, vibrant, action-packed, detailed character design, reminiscent of fighting video games", - "negative_prompt": "peaceful, calm, minimalist, photorealistic" - }, - { - "name": "game-gta", - "prompt": "GTA-style artwork {prompt} . satirical, exaggerated, pop art style, vibrant colors, iconic characters, action-packed", - "negative_prompt": "realistic, black and white, low contrast, impressionist, cubist, noisy, blurry, deformed" - }, - { - "name": "game-mario", - "prompt": "Super Mario style {prompt} . vibrant, cute, cartoony, fantasy, playful, reminiscent of Super Mario series", - "negative_prompt": "realistic, modern, horror, dystopian, violent" - }, - { - "name": "game-minecraft", - "prompt": "Minecraft style {prompt} . blocky, pixelated, vibrant colors, recognizable characters and objects, game assets", - "negative_prompt": "smooth, realistic, detailed, photorealistic, noise, blurry, deformed" - }, - { - "name": "game-pokemon", - "prompt": "Pok\u00e9mon style {prompt} . vibrant, cute, anime, fantasy, reminiscent of Pok\u00e9mon series", - "negative_prompt": "realistic, modern, horror, dystopian, violent" - }, - { - "name": "game-retro arcade", - "prompt": "retro arcade style {prompt} . 8-bit, pixelated, vibrant, classic video game, old school gaming, reminiscent of 80s and 90s arcade games", - "negative_prompt": "modern, ultra-high resolution, photorealistic, 3D" - }, - { - "name": "game-retro game", - "prompt": "retro game art {prompt} . 16-bit, vibrant colors, pixelated, nostalgic, charming, fun", - "negative_prompt": "realistic, photorealistic, 35mm film, deformed, glitch, low contrast, noisy" - }, - { - "name": "game-rpg fantasy game", - "prompt": "role-playing game (RPG) style fantasy {prompt} . detailed, vibrant, immersive, reminiscent of high fantasy RPG games", - "negative_prompt": "sci-fi, modern, urban, futuristic, low detailed" - }, - { - "name": "game-strategy game", - "prompt": "strategy game style {prompt} . overhead view, detailed map, units, reminiscent of real-time strategy video games", - "negative_prompt": "first-person view, modern, photorealistic" - }, - { - "name": "game-streetfighter", - "prompt": "Street Fighter style {prompt} . vibrant, dynamic, arcade, 2D fighting game, highly detailed, reminiscent of Street Fighter series", - "negative_prompt": "3D, realistic, modern, photorealistic, turn-based strategy" - }, - { - "name": "game-zelda", - "prompt": "Legend of Zelda style {prompt} . vibrant, fantasy, detailed, epic, heroic, reminiscent of The Legend of Zelda series", - "negative_prompt": "sci-fi, modern, realistic, horror" - }, - { - "name": "misc-architectural", - "prompt": "architectural style {prompt} . clean lines, geometric shapes, minimalist, modern, architectural drawing, highly detailed", - "negative_prompt": "curved lines, ornate, baroque, abstract, grunge" - }, - { - "name": "misc-disco", - "prompt": "disco-themed {prompt} . vibrant, groovy, retro 70s style, shiny disco balls, neon lights, dance floor, highly detailed", - "negative_prompt": "minimalist, rustic, monochrome, contemporary, simplistic" - }, - { - "name": "misc-dreamscape", - "prompt": "dreamscape {prompt} . surreal, ethereal, dreamy, mysterious, fantasy, highly detailed", - "negative_prompt": "realistic, concrete, ordinary, mundane" - }, - { - "name": "misc-dystopian", - "prompt": "dystopian style {prompt} . bleak, post-apocalyptic, somber, dramatic, highly detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, cheerful, optimistic, vibrant, colorful" - }, - { - "name": "misc-fairy tale", - "prompt": "fairy tale {prompt} . magical, fantastical, enchanting, storybook style, highly detailed", - "negative_prompt": "realistic, modern, ordinary, mundane" - }, - { - "name": "misc-gothic", - "prompt": "gothic style {prompt} . dark, mysterious, haunting, dramatic, ornate, detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, cheerful, optimistic" - }, - { - "name": "misc-grunge", - "prompt": "grunge style {prompt} . textured, distressed, vintage, edgy, punk rock vibe, dirty, noisy", - "negative_prompt": "smooth, clean, minimalist, sleek, modern, photorealistic" - }, - { - "name": "misc-horror", - "prompt": "horror-themed {prompt} . eerie, unsettling, dark, spooky, suspenseful, grim, highly detailed", - "negative_prompt": "cheerful, bright, vibrant, light-hearted, cute" - }, - { - "name": "misc-kawaii", - "prompt": "kawaii style {prompt} . cute, adorable, brightly colored, cheerful, anime influence, highly detailed", - "negative_prompt": "dark, scary, realistic, monochrome, abstract" - }, - { - "name": "misc-lovecraftian", - "prompt": "lovecraftian horror {prompt} . eldritch, cosmic horror, unknown, mysterious, surreal, highly detailed", - "negative_prompt": "light-hearted, mundane, familiar, simplistic, realistic" - }, - { - "name": "misc-macabre", - "prompt": "macabre style {prompt} . dark, gothic, grim, haunting, highly detailed", - "negative_prompt": "bright, cheerful, light-hearted, cartoonish, cute" - }, - { - "name": "misc-manga", - "prompt": "manga style {prompt} . vibrant, high-energy, detailed, iconic, Japanese comic style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, Western comic style" - }, - { - "name": "misc-metropolis", - "prompt": "metropolis-themed {prompt} . urban, cityscape, skyscrapers, modern, futuristic, highly detailed", - "negative_prompt": "rural, natural, rustic, historical, simple" - }, - { - "name": "misc-minimalist", - "prompt": "minimalist style {prompt} . simple, clean, uncluttered, modern, elegant", - "negative_prompt": "ornate, complicated, highly detailed, cluttered, disordered, messy, noisy" - }, - { - "name": "misc-monochrome", - "prompt": "monochrome {prompt} . black and white, contrast, tone, texture, detailed", - "negative_prompt": "colorful, vibrant, noisy, blurry, deformed" - }, - { - "name": "misc-nautical", - "prompt": "nautical-themed {prompt} . sea, ocean, ships, maritime, beach, marine life, highly detailed", - "negative_prompt": "landlocked, desert, mountains, urban, rustic" - }, - { - "name": "misc-space", - "prompt": "space-themed {prompt} . cosmic, celestial, stars, galaxies, nebulas, planets, science fiction, highly detailed", - "negative_prompt": "earthly, mundane, ground-based, realism" - }, - { - "name": "misc-stained glass", - "prompt": "stained glass style {prompt} . vibrant, beautiful, translucent, intricate, detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic" - }, - { - "name": "misc-techwear fashion", - "prompt": "techwear fashion {prompt} . futuristic, cyberpunk, urban, tactical, sleek, dark, highly detailed", - "negative_prompt": "vintage, rural, colorful, low contrast, realism, sketch, watercolor" - }, - { - "name": "misc-tribal", - "prompt": "tribal style {prompt} . indigenous, ethnic, traditional patterns, bold, natural colors, highly detailed", - "negative_prompt": "modern, futuristic, minimalist, pastel" - }, - { - "name": "misc-zentangle", - "prompt": "zentangle {prompt} . intricate, abstract, monochrome, patterns, meditative, highly detailed", - "negative_prompt": "colorful, representative, simplistic, large fields of color" - }, - { - "name": "papercraft-collage", - "prompt": "collage style {prompt} . mixed media, layered, textural, detailed, artistic", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic" - }, - { - "name": "papercraft-flat papercut", - "prompt": "flat papercut style {prompt} . silhouette, clean cuts, paper, sharp edges, minimalist, color block", - "negative_prompt": "3D, high detail, noise, grainy, blurry, painting, drawing, photo, disfigured" - }, - { - "name": "papercraft-kirigami", - "prompt": "kirigami representation of {prompt} . 3D, paper folding, paper cutting, Japanese, intricate, symmetrical, precision, clean lines", - "negative_prompt": "painting, drawing, 2D, noisy, blurry, deformed" - }, - { - "name": "papercraft-paper mache", - "prompt": "paper mache representation of {prompt} . 3D, sculptural, textured, handmade, vibrant, fun", - "negative_prompt": "2D, flat, photo, sketch, digital art, deformed, noisy, blurry" - }, - { - "name": "papercraft-paper quilling", - "prompt": "paper quilling art of {prompt} . intricate, delicate, curling, rolling, shaping, coiling, loops, 3D, dimensional, ornamental", - "negative_prompt": "photo, painting, drawing, 2D, flat, deformed, noisy, blurry" - }, - { - "name": "papercraft-papercut collage", - "prompt": "papercut collage of {prompt} . mixed media, textured paper, overlapping, asymmetrical, abstract, vibrant", - "negative_prompt": "photo, 3D, realistic, drawing, painting, high detail, disfigured" - }, - { - "name": "papercraft-papercut shadow box", - "prompt": "3D papercut shadow box of {prompt} . layered, dimensional, depth, silhouette, shadow, papercut, handmade, high contrast", - "negative_prompt": "painting, drawing, photo, 2D, flat, high detail, blurry, noisy, disfigured" - }, - { - "name": "papercraft-stacked papercut", - "prompt": "stacked papercut art of {prompt} . 3D, layered, dimensional, depth, precision cut, stacked layers, papercut, high contrast", - "negative_prompt": "2D, flat, noisy, blurry, painting, drawing, photo, deformed" - }, - { - "name": "papercraft-thick layered papercut", - "prompt": "thick layered papercut art of {prompt} . deep 3D, volumetric, dimensional, depth, thick paper, high stack, heavy texture, tangible layers", - "negative_prompt": "2D, flat, thin paper, low stack, smooth texture, painting, drawing, photo, deformed" - }, - { - "name": "photo-alien", - "prompt": "alien-themed {prompt} . extraterrestrial, cosmic, otherworldly, mysterious, sci-fi, highly detailed", - "negative_prompt": "earthly, mundane, common, realistic, simple" - }, - { - "name": "photo-film noir", - "prompt": "film noir style {prompt} . monochrome, high contrast, dramatic shadows, 1940s style, mysterious, cinematic", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vibrant, colorful" - }, - { - "name": "photo-glamour", - "prompt": "glamorous photo {prompt} . high fashion, luxurious, extravagant, stylish, sensual, opulent, elegance, stunning beauty, professional, high contrast, detailed", - "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy, sketch, low contrast, dull, plain, modest" - }, - { - "name": "photo-hdr", - "prompt": "HDR photo of {prompt} . High dynamic range, vivid, rich details, clear shadows and highlights, realistic, intense, enhanced contrast, highly detailed", - "negative_prompt": "flat, low contrast, oversaturated, underexposed, overexposed, blurred, noisy" - }, - { - "name": "photo-iphone photographic", - "prompt": "iphone photo {prompt} . large depth of field, deep depth of field, highly detailed", - "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly, shallow depth of field, bokeh" - }, - { - "name": "photo-long exposure", - "prompt": "long exposure photo of {prompt} . Blurred motion, streaks of light, surreal, dreamy, ghosting effect, highly detailed", - "negative_prompt": "static, noisy, deformed, shaky, abrupt, flat, low contrast" - }, - { - "name": "photo-neon noir", - "prompt": "neon noir {prompt} . cyberpunk, dark, rainy streets, neon signs, high contrast, low light, vibrant, highly detailed", - "negative_prompt": "bright, sunny, daytime, low contrast, black and white, sketch, watercolor" - }, - { - "name": "photo-silhouette", - "prompt": "silhouette style {prompt} . high contrast, minimalistic, black and white, stark, dramatic", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, color, realism, photorealistic" - }, - { - "name": "photo-tilt-shift", - "prompt": "tilt-shift photo of {prompt} . selective focus, miniature effect, blurred background, highly detailed, vibrant, perspective control", - "negative_prompt": "blurry, noisy, deformed, flat, low contrast, unrealistic, oversaturated, underexposed" - }, - { - "name": "cinematic-diva", - "prompt": "UHD, 8K, ultra detailed, a cinematic photograph of {prompt}, beautiful lighting, great composition", - "negative_prompt": "ugly, deformed, noisy, blurry, NSFW" - }, - { - "name": "Abstract Expressionism", - "prompt": "Abstract Expressionism Art, {prompt}, High contrast, minimalistic, colorful, stark, dramatic, expressionism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic" - }, - { - "name": "Academia", - "prompt": "Academia, {prompt}, preppy Ivy League style, stark, dramatic, chic boarding school, academia", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, grunge, sloppy, unkempt" - }, - { - "name": "Action Figure", - "prompt": "Action Figure, {prompt}, plastic collectable action figure, collectable toy action figure", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Adorable 3D Character", - "prompt": "Adorable 3D Character, {prompt}, 3D render, adorable character, 3D art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, grunge, sloppy, unkempt, photograph, photo, realistic" - }, - { - "name": "Adorable Kawaii", - "prompt": "Adorable Kawaii, {prompt}, pretty, cute, adorable, kawaii", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, gothic, dark, moody, monochromatic" - }, - { - "name": "Art Deco", - "prompt": "Art Deco, {prompt}, sleek, geometric forms, art deco style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Art Nouveau", - "prompt": "Art Nouveau, beautiful art, {prompt}, sleek, organic forms, long, sinuous, art nouveau style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, industrial, mechanical" - }, - { - "name": "Astral Aura", - "prompt": "Astral Aura, {prompt}, astral, colorful aura, vibrant energy", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Avant-garde", - "prompt": "Avant-garde, {prompt}, unusual, experimental, avant-garde art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Baroque", - "prompt": "Baroque, {prompt}, dramatic, exuberant, grandeur, baroque art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Bauhaus-Style Poster", - "prompt": "Bauhaus-Style Poster, {prompt}, simple geometric shapes, clean lines, primary colors, Bauhaus-Style Poster", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Blueprint Schematic Drawing", - "prompt": "Blueprint Schematic Drawing, {prompt}, technical drawing, blueprint, schematic", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Caricature", - "prompt": "Caricature, {prompt}, exaggerated, comical, caricature", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realistic" - }, - { - "name": "Cel Shaded Art", - "prompt": "Cel Shaded Art, {prompt}, 2D, flat color, toon shading, cel shaded style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Character Design Sheet", - "prompt": "Character Design Sheet, {prompt}, character reference sheet, character turn around", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Classicism Art", - "prompt": "Classicism Art, {prompt}, inspired by Roman and Greek culture, clarity, harmonious, classicism art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Color Field Painting", - "prompt": "Color Field Painting, {prompt}, abstract, simple, geometic, color field painting style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Colored Pencil Art", - "prompt": "Colored Pencil Art, {prompt}, colored pencil strokes, light color, visible paper texture, colored pencil art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Conceptual Art", - "prompt": "Conceptual Art, {prompt}, concept art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Constructivism", - "prompt": "Constructivism Art, {prompt}, minimalistic, geometric forms, constructivism art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Cubism", - "prompt": "Cubism Art, {prompt}, flat geometric forms, cubism art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Dadaism", - "prompt": "Dadaism Art, {prompt}, satirical, nonsensical, dadaism art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Dark Fantasy", - "prompt": "Dark Fantasy Art, {prompt}, dark, moody, dark fantasy style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, bright, sunny" - }, - { - "name": "Dark Moody Atmosphere", - "prompt": "Dark Moody Atmosphere, {prompt}, dramatic, mysterious, dark moody atmosphere", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, vibrant, colorful, bright" - }, - { - "name": "DMT Art Style", - "prompt": "DMT Art Style, {prompt}, bright colors, surreal visuals, swirling patterns, DMT art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Doodle Art", - "prompt": "Doodle Art Style, {prompt}, drawing, freeform, swirling patterns, doodle art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Double Exposure", - "prompt": "Double Exposure Style, {prompt}, double image ghost effect, image combination, double exposure style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Dripping Paint Splatter Art", - "prompt": "Dripping Paint Splatter Art, {prompt}, dramatic, paint drips, splatters, dripping paint", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Expressionism", - "prompt": "Expressionism Art Style, {prompt}, movement, contrast, emotional, exaggerated forms, expressionism art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Faded Polaroid Photo", - "prompt": "Faded Polaroid Photo, {prompt}, analog, old faded photo, old polaroid", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, vibrant, colorful" - }, - { - "name": "Fauvism", - "prompt": "Fauvism Art, {prompt}, painterly, bold colors, textured brushwork, fauvism art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Flat 2D Art", - "prompt": "Flat 2D Art, {prompt}, simple flat color, 2-dimensional, Flat 2D Art Style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, 3D, photo, realistic" - }, - { - "name": "Fortnite Art Style", - "prompt": "Fortnite Art Style, {prompt}, 3D cartoon, colorful, Fortnite Art Style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, realistic" - }, - { - "name": "Futurism", - "prompt": "Futurism Art Style, {prompt}, dynamic, dramatic, Futurism Art Style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Glitchcore", - "prompt": "Glitchcore Art Style, {prompt}, dynamic, dramatic, distorted, vibrant colors, glitchcore art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Glo-fi", - "prompt": "Glo-fi Art Style, {prompt}, dynamic, dramatic, vibrant colors, glo-fi art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Googie Art Style", - "prompt": "Googie Art Style, {prompt}, dynamic, dramatic, 1950's futurism, bold boomerang angles, Googie art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Graffiti Art", - "prompt": "Graffiti Art Style, {prompt}, dynamic, dramatic, vibrant colors, graffiti art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Harlem Renaissance Art", - "prompt": "Harlem Renaissance Art Style, {prompt}, dynamic, dramatic, 1920s African American culture, Harlem Renaissance art style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "High Fashion", - "prompt": "High Fashion, {prompt}, dynamic, dramatic, haute couture, elegant, ornate clothing, High Fashion", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Idyllic", - "prompt": "Idyllic, {prompt}, peaceful, happy, pleasant, happy, harmonious, picturesque, charming", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Impressionism", - "prompt": "Impressionism, {prompt}, painterly, small brushstrokes, visible brushstrokes, impressionistic style", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Infographic Drawing", - "prompt": "Infographic Drawing, {prompt}, diagram, infographic", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Ink Dripping Drawing", - "prompt": "Ink Dripping Drawing, {prompt}, ink drawing, dripping ink", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, colorful, vibrant" - }, - { - "name": "Japanese Ink Drawing", - "prompt": "Japanese Ink Drawing, {prompt}, ink drawing, inkwash, Japanese Ink Drawing", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, colorful, vibrant" - }, - { - "name": "Knolling Photography", - "prompt": "Knolling Photography, {prompt}, flat lay photography, object arrangment, knolling photography", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Light Cheery Atmosphere", - "prompt": "Light Cheery Atmosphere, {prompt}, happy, joyful, cheerful, carefree, gleeful, lighthearted, pleasant atmosphere", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, monochromatic, dark, moody" - }, - { - "name": "Logo Design", - "prompt": "Logo Design, {prompt}, dynamic graphic art, vector art, minimalist, professional logo design", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Luxurious Elegance", - "prompt": "Luxurious Elegance, {prompt}, extravagant, ornate, designer, opulent, picturesque, lavish", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Macro Photography", - "prompt": "Macro Photography, {prompt}, close-up, macro 100mm, macro photography", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Mandola Art", - "prompt": "Mandola art style, {prompt}, complex, circular design, mandola", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Marker Drawing", - "prompt": "Marker Drawing, {prompt}, bold marker lines, visibile paper texture, marker drawing", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photograph, realistic" - }, - { - "name": "Medievalism", - "prompt": "Medievalism, {prompt}, inspired by The Middle Ages, medieval art, elaborate patterns and decoration, Medievalism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Minimalism", - "prompt": "Minimalism, {prompt}, abstract, simple geometic shapes, hard edges, sleek contours, Minimalism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Neo-Baroque", - "prompt": "Neo-Baroque, {prompt}, ornate and elaborate, dynaimc, Neo-Baroque", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Neo-Byzantine", - "prompt": "Neo-Byzantine, {prompt}, grand decorative religious style, Orthodox Christian inspired, Neo-Byzantine", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Neo-Futurism", - "prompt": "Neo-Futurism, {prompt}, high-tech, curves, spirals, flowing lines, idealistic future, Neo-Futurism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Neo-Impressionism", - "prompt": "Neo-Impressionism, {prompt}, tiny dabs of color, Pointillism, painterly, Neo-Impressionism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photograph, realistic" - }, - { - "name": "Neo-Rococo", - "prompt": "Neo-Rococo, {prompt}, curved forms, naturalistic ornamentation, elaborate, decorative, gaudy, Neo-Rococo", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Neoclassicism", - "prompt": "Neoclassicism, {prompt}, ancient Rome and Greece inspired, idealic, sober colors, Neoclassicism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Op Art", - "prompt": "Op Art, {prompt}, optical illusion, abstract, geometric pattern, impression of movement, Op Art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Ornate and Intricate", - "prompt": "Ornate and Intricate, {prompt}, decorative, highly detailed, elaborate, ornate, intricate", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Pencil Sketch Drawing", - "prompt": "Pencil Sketch Drawing, {prompt}, black and white drawing, graphite drawing", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Pop Art 2", - "prompt": "Pop Art, {prompt}, vivid colors, flat color, 2D, strong lines, Pop Art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, realistic" - }, - { - "name": "Rococo", - "prompt": "Rococo, {prompt}, flamboyant, pastel colors, curved lines, elaborate detail, Rococo", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Silhouette Art", - "prompt": "Silhouette Art, {prompt}, high contrast, well defined, Silhouette Art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Simple Vector Art", - "prompt": "Simple Vector Art, {prompt}, 2D flat, simple shapes, minimalistic, professional graphic, flat color, high contrast, Simple Vector Art", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, 3D, photo, realistic" - }, - { - "name": "Sketchup", - "prompt": "Sketchup, {prompt}, CAD, professional design, Sketchup", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, photograph" - }, - { - "name": "Steampunk 2", - "prompt": "Steampunk, {prompt}, retrofuturistic science fantasy, steam-powered tech, vintage industry, gears, neo-victorian, steampunk", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Surrealism", - "prompt": "Surrealism, {prompt}, expressive, dramatic, organic lines and forms, dreamlike and mysterious, Surrealism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realistic" - }, - { - "name": "Suprematism", - "prompt": "Suprematism, {prompt}, abstract, limited color palette, geometric forms, Suprematism", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realistic" - }, - { - "name": "Terragen", - "prompt": "Terragen, {prompt}, beautiful massive landscape, epic scenery, Terragen", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Tranquil Relaxing Atmosphere", - "prompt": "Tranquil Relaxing Atmosphere, {prompt}, calming style, soothing colors, peaceful, idealic, Tranquil Relaxing Atmosphere", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, oversaturated" - }, - { - "name": "Sticker Designs", - "prompt": "Vector Art Stickers, {prompt}, professional vector design, sticker designs, Sticker Sheet", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Vibrant Rim Light", - "prompt": "Vibrant Rim Light, {prompt}, bright rim light, high contrast, bold edge light", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Volumetric Lighting", - "prompt": "Volumetric Lighting, {prompt}, light depth, dramatic atmospheric lighting, Volumetric Lighting", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast" - }, - { - "name": "Watercolor 2", - "prompt": "Watercolor style painting, {prompt}, visible paper texture, colorwash, watercolor", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, realistic" - }, - { - "name": "Whimsical and Playful", - "prompt": "Whimsical and Playful, {prompt}, imaginative, fantastical, bight colors, stylized, happy, Whimsical and Playful", - "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, drab, boring, moody" - }, - { - "name": "MK Chromolithography", - "prompt": "Chromolithograph {prompt}. Vibrant colors, intricate details, rich color saturation, meticulous registration, multi-layered printing, decorative elements, historical charm, artistic reproductions, commercial posters, nostalgic, ornate compositions.", - "negative_prompt": "monochromatic, simple designs, limited color palette, imprecise registration, minimalistic, modern aesthetic, digital appearance." - }, - { - "name": "MK Cross Processing Print", - "prompt": "Cross processing print {prompt}. Experimental color shifts, unconventional tonalities, vibrant and surreal hues, heightened contrasts, unpredictable results, artistic unpredictability, retro and vintage feel, dynamic color interplay, abstract and dreamlike.", - "negative_prompt": "predictable color tones, traditional processing, realistic color representation, subdued contrasts, standard photographic aesthetics." - }, - { - "name": "MK Dufaycolor Photograph", - "prompt": "Dufaycolor photograph {prompt}. Vintage color palette, distinctive color rendering, soft and dreamy atmosphere, historical charm, unique color process, grainy texture, evocative mood, nostalgic aesthetic, hand-tinted appearance, artistic patina.", - "negative_prompt": "modern color reproduction, hyperrealistic tones, sharp and clear details, digital precision, contemporary aesthetic." - }, - { - "name": "MK Herbarium", - "prompt": "Herbarium drawing{prompt}. Botanical accuracy, old botanical book illustration, detailed illustrations, pressed plants, delicate and precise linework, scientific documentation, meticulous presentation, educational purpose, organic compositions, timeless aesthetic, naturalistic beauty.", - "negative_prompt": "abstract representation, vibrant colors, artistic interpretation, chaotic compositions, fantastical elements, digital appearance." - }, - { - "name": "MK Punk Collage", - "prompt": "punk collage style {prompt} . mixed media, papercut,textured paper, overlapping, ripped posters, safety pins, chaotic layers, graffiti-style elements, anarchy symbols, vintage photos, cut-and-paste aesthetic, bold typography, distorted images, political messages, urban decay, distressed textures, newspaper clippings, spray paint, rebellious icons, DIY spirit, vivid colors, punk band logos, edgy and raw compositions, ", - "negative_prompt": "conventional,blurry, noisy, low contrast" - }, - { - "name": "MK mosaic", - "prompt": "mosaic style {prompt} . fragmented, assembled, colorful, highly detailed", - "negative_prompt": "whole, unbroken, monochrome" - }, - { - "name": "MK Van Gogh", - "prompt": "Oil painting by Van Gogh {prompt} . Expressive, impasto, swirling brushwork, vibrant, brush strokes, Brushstroke-heavy, Textured, Impasto, Colorful, Dynamic, Bold, Distinctive, Vibrant, Whirling, Expressive, Dramatic, Swirling, Layered, Intense, Contrastive, Atmospheric, Luminous, Textural, Evocative, SpiraledVan Gogh style", - "negative_prompt": "realistic, photorealistic, calm, straight lines, signature, frame, text, watermark" - }, - { - "name": "MK Coloring Book", - "prompt": "centered black and white high contrast line drawing, coloring book style,{prompt} . monochrome, blank white background", - "negative_prompt": "greyscale, gradients,shadows,shadow, colored, Red, Blue, Yellow, Green, Orange, Purple, Pink, Brown, Gray, Beige, Turquoise, Lavender, Cyan, Magenta, Olive, Indigo, black background" - }, - { - "name": "MK Singer Sargent", - "prompt": "Oil painting by John Singer Sargent {prompt}. Elegant, refined, masterful technique,realistic portrayal, subtle play of light, captivating expression, rich details, harmonious colors, skillful composition, brush strokes, chiaroscuro.", - "negative_prompt": "realistic, photorealistic, abstract, overly stylized, excessive contrasts, distorted,bright colors,disorder." - }, - { - "name": "MK Pollock", - "prompt": "Oil painting by Jackson Pollock {prompt}. Abstract expressionism, drip painting, chaotic composition, energetic, spontaneous, unconventional technique, dynamic, bold, distinctive, vibrant, intense, expressive, energetic, layered, non-representational, gestural.", - "negative_prompt": "(realistic:1.5), (photorealistic:1.5), representational, calm, ordered composition, precise lines, detailed forms, subdued colors, quiet, static, traditional, figurative." - }, - { - "name": "MK Basquiat", - "prompt": "Artwork by Jean-Michel Basquiat {prompt}. Neo-expressionism, street art influence, graffiti-inspired, raw, energetic, bold colors, dynamic composition, chaotic, layered, textural, expressive, spontaneous, distinctive, symbolic,energetic brushstrokes.", - "negative_prompt": "(realistic:1.5), (photorealistic:1.5), calm, precise lines, conventional composition, subdued" - }, - { - "name": "MK Andy Warhol", - "prompt": "Artwork in the style of Andy Warhol {prompt}. Pop art, vibrant colors, bold compositions, repetition of iconic imagery, celebrity culture, commercial aesthetics, mass production influence, stylized simplicity, cultural commentary, graphical elements, distinctive portraits.", - "negative_prompt": "subdued colors, realistic, lack of repetition, minimalistic." - }, - { - "name": "MK Halftone print", - "prompt": "Halftone print of {prompt}. Dot matrix pattern, grayscale tones, vintage aesthetic, newspaper print vibe, stylized dots, visual texture, black and white contrasts, retro appearance, artistic pointillism,pop culture, (Roy Lichtenstein style:1.5).", - "negative_prompt": "smooth gradients, continuous tones, vibrant colors." - }, - { - "name": "MK Gond Painting", - "prompt": "Gond painting {prompt}. Intricate patterns, vibrant colors, detailed motifs, nature-inspired themes, tribal folklore, fine lines, intricate detailing, storytelling compositions, mystical and folkloric, cultural richness.", - "negative_prompt": "monochromatic, abstract shapes, minimalistic." - }, - { - "name": "MK Albumen Print", - "prompt": "Albumen print {prompt}. Sepia tones, fine details, subtle tonal gradations, delicate highlights, vintage aesthetic, soft and muted atmosphere, historical charm, rich textures, meticulous craftsmanship, classic photographic technique, vignetting.", - "negative_prompt": "vibrant colors, high contrast, modern, digital appearance, sharp details, contemporary style." - }, - { - "name": "MK Aquatint Print", - "prompt": "Aquatint print {prompt}. Soft tonal gradations, atmospheric effects, velvety textures, rich contrasts, fine details, etching process, delicate lines, nuanced shading, expressive and moody atmosphere, artistic depth.", - "negative_prompt": "sharp contrasts, bold lines, minimalistic." - }, - { - "name": "MK Anthotype Print", - "prompt": "Anthotype print {prompt}. Monochrome dye, soft and muted colors, organic textures, ephemeral and delicate appearance, low details, watercolor canvas, low contrast, overexposed, silhouette, textured paper.", - "negative_prompt": "vibrant synthetic dyes, bold and saturated colors." - }, - { - "name": "MK Inuit Carving", - "prompt": "A sculpture made of ivory, {prompt} made of . Sculptures, Inuit art style, intricate carvings, natural materials, storytelling motifs, arctic wildlife themes, symbolic representations, cultural traditions, earthy tones, harmonious compositions, spiritual and mythological elements.", - "negative_prompt": "abstract, vibrant colors." - }, - { - "name": "MK Bromoil Print", - "prompt": "Bromoil print {prompt}. Painterly effects, sepia tones, textured surfaces, rich contrasts, expressive brushwork, tonal variations, vintage aesthetic, atmospheric mood, handmade quality, artistic experimentation, darkroom craftsmanship, vignetting.", - "negative_prompt": "smooth surfaces, minimal brushwork, contemporary digital appearance." - }, - { - "name": "MK Calotype Print", - "prompt": "Calotype print {prompt}. Soft focus, subtle tonal range, paper negative process, fine details, vintage aesthetic, artistic experimentation, atmospheric mood, early photographic charm, handmade quality, vignetting.", - "negative_prompt": "sharp focus, bold contrasts, modern aesthetic, digital photography." - }, - { - "name": "MK Color Sketchnote", - "prompt": "Color sketchnote {prompt}. Hand-drawn elements, vibrant colors, visual hierarchy, playful illustrations, varied typography, graphic icons, organic and dynamic layout, personalized touches, creative expression, engaging storytelling.", - "negative_prompt": "monochromatic, geometric layout." - }, - { - "name": "MK Cibulak Porcelain", - "prompt": "A sculpture made of blue pattern porcelain of {prompt}. Classic design, blue and white color scheme, intricate detailing, floral motifs, onion-shaped elements, historical charm, rococo, white ware, cobalt blue, underglaze pattern, fine craftsmanship, traditional elegance, delicate patterns, vintage aesthetic, Meissen, Blue Onion pattern, Cibulak.", - "negative_prompt": "tea, teapot, cup, teacup,bright colors, bold and modern design, absence of intricate detailing, lack of floral motifs, non-traditional shapes." - }, - { - "name": "MK Alcohol Ink Art", - "prompt": "Alcohol ink art {prompt}. Fluid and vibrant colors, unpredictable patterns, organic textures, translucent layers, abstract compositions, ethereal and dreamy effects, free-flowing movement, expressive brushstrokes, contemporary aesthetic, wet textured paper.", - "negative_prompt": "monochromatic, controlled patterns." - }, - { - "name": "MK One Line Art", - "prompt": "One line art {prompt}. Continuous and unbroken black line, minimalistic, simplicity, economical use of space, flowing and dynamic, symbolic representations, contemporary aesthetic, evocative and abstract, white background.", - "negative_prompt": "disjointed lines, complexity, complex detailing." - }, - { - "name": "MK Blacklight Paint", - "prompt": "Blacklight paint {prompt}. Fluorescent pigments, vibrant and surreal colors, ethereal glow, otherworldly effects, dynamic and psychedelic compositions, neon aesthetics, transformative in ultraviolet light, contemporary and experimental.", - "negative_prompt": "muted colors, traditional and realistic compositions." - }, - { - "name": "MK Carnival Glass", - "prompt": "A sculpture made of Carnival glass, {prompt}. Iridescent surfaces, vibrant colors, intricate patterns, opalescent hues, reflective and prismatic effects, Art Nouveau and Art Deco influences, vintage charm, intricate detailing, lustrous and luminous appearance, Carnival Glass style.", - "negative_prompt": "non-iridescent surfaces, muted colors, absence of intricate patterns, lack of opalescent hues, modern and minimalist aesthetic." - }, - { - "name": "MK Cyanotype Print", - "prompt": "Cyanotype print {prompt}. Prussian blue tones, distinctive coloration, high contrast, blueprint aesthetics, atmospheric mood, sun-exposed paper, silhouette effects, delicate details, historical charm, handmade and experimental quality.", - "negative_prompt": "vibrant colors, low contrast, modern and polished appearance." - }, - { - "name": "MK Cross-Stitching", - "prompt": "Cross-stitching {prompt}. Intricate patterns, embroidery thread, sewing, fine details, precise stitches, textile artistry, symmetrical designs, varied color palette, traditional and contemporary motifs, handmade and crafted,canvas, nostalgic charm.", - "negative_prompt": "paper, paint, ink, photography." - }, - { - "name": "MK Encaustic Paint", - "prompt": "Encaustic paint {prompt}. Textured surfaces, translucent layers, luminous quality, wax medium, rich color saturation, fluid and organic shapes, contemporary and historical influences, mixed media elements, atmospheric depth.", - "negative_prompt": "flat surfaces, opaque layers, lack of wax medium, muted color palette, absence of textured surfaces, non-mixed media." - }, - { - "name": "MK Embroidery", - "prompt": "Embroidery {prompt}. Intricate stitching, embroidery thread, fine details, varied thread textures, textile artistry, embellished surfaces, diverse color palette, traditional and contemporary motifs, handmade and crafted, tactile and ornate.", - "negative_prompt": "minimalist, monochromatic." - }, - { - "name": "MK Gyotaku", - "prompt": "Gyotaku {prompt}. Fish impressions, realistic details, ink rubbings, textured surfaces, traditional Japanese art form, nature-inspired compositions, artistic representation of marine life, black and white contrasts, cultural significance.", - "negative_prompt": "photography." - }, - { - "name": "MK Luminogram", - "prompt": "Luminogram {prompt}. Photogram technique, ethereal and abstract effects, light and shadow interplay, luminous quality, experimental process, direct light exposure, unique and unpredictable results, artistic experimentation.", - "negative_prompt": "" - }, - { - "name": "MK Lite Brite Art", - "prompt": "Lite Brite art {prompt}. Luminous and colorful designs, pixelated compositions, retro aesthetic, glowing effects, creative patterns, interactive and playful, nostalgic charm, vibrant and dynamic arrangements.", - "negative_prompt": "monochromatic." - }, - { - "name": "MK Mokume-gane", - "prompt": "Mokume-gane {prompt}. Wood-grain patterns, mixed metal layers, intricate and organic designs, traditional Japanese metalwork, harmonious color combinations, artisanal craftsmanship, unique and layered textures, cultural and historical significance.", - "negative_prompt": "uniform metal surfaces." - }, - { - "name": "Pebble Art", - "prompt": "a sculpture made of peebles, {prompt}. Pebble art style,natural materials, textured surfaces, balanced compositions, organic forms, harmonious arrangements, tactile and 3D effects, beach-inspired aesthetic, creative storytelling, artisanal craftsmanship.", - "negative_prompt": "non-natural materials, lack of textured surfaces, imbalanced compositions, absence of organic forms, non-tactile appearance." - }, - { - "name": "MK Palekh", - "prompt": "Palekh art {prompt}. Miniature paintings, intricate details, vivid colors, folkloric themes, lacquer finish, storytelling compositions, symbolic elements, Russian folklore influence, cultural and historical significance.", - "negative_prompt": "large-scale paintings." - }, - { - "name": "MK Suminagashi", - "prompt": "Suminagashi {prompt}. Floating ink patterns, marbled effects, delicate and ethereal designs, water-based ink, fluid and unpredictable compositions, meditative process, monochromatic or subtle color palette, Japanese artistic tradition.", - "negative_prompt": "vibrant and bold color palette." - }, - { - "name": "MK Scrimshaw", - "prompt": "A Scrimshaw engraving of {prompt}. Intricate engravings on a spermwhale's teeth, marine motifs, detailed scenes, nautical themes, black and white contrasts, historical craftsmanship, artisanal carving, storytelling compositions, maritime heritage.", - "negative_prompt": "colorful, modern." - }, - { - "name": "MK Shibori", - "prompt": "Shibori {prompt}. Textured fabric, intricate patterns, resist-dyeing technique, indigo or vibrant colors, organic and flowing designs, Japanese textile art, cultural tradition, tactile and visual interest.", - "negative_prompt": "monochromatic." - }, - { - "name": "MK Vitreous Enamel", - "prompt": "A sculpture made of Vitreous enamel {prompt}. Smooth and glossy surfaces, vibrant colors, glass-like finish, durable and resilient, intricate detailing, traditional and contemporary applications, artistic craftsmanship, jewelry and decorative objects, , Vitreous enamel, colored glass.", - "negative_prompt": "rough surfaces, muted colors." - }, - { - "name": "MK Ukiyo-e", - "prompt": "Ukiyo-e {prompt}. Woodblock prints, vibrant colors, intricate details, depictions of landscapes, kabuki actors, beautiful women, cultural scenes, traditional Japanese art, artistic craftsmanship, historical significance.", - "negative_prompt": "absence of woodblock prints, muted colors, lack of intricate details, non-traditional Japanese themes, absence of cultural scenes." - }, - { - "name": "MK vintage-airline-poster", - "prompt": "vintage airline poster {prompt} . classic aviation fonts, pastel colors, elegant aircraft illustrations, scenic destinations, distressed textures, retro travel allure", - "negative_prompt": "modern fonts, bold colors, hyper-realistic, sleek design" - }, - { - "name": "MK vintage-travel-poster", - "prompt": "vintage travel poster {prompt} . retro fonts, muted colors, scenic illustrations, iconic landmarks, distressed textures, nostalgic vibes", - "negative_prompt": "modern fonts, vibrant colors, hyper-realistic, sleek design" - }, - { - "name": "MK bauhaus-style", - "prompt": "Bauhaus-inspired {prompt} . minimalism, geometric precision, primary colors, sans-serif typography, asymmetry, functional design", - "negative_prompt": "ornate, intricate, excessive detail, complex patterns, serif typography" - }, - { - "name": "MK afrofuturism", - "prompt": "Afrofuturism illustration {prompt} . vibrant colors, futuristic elements, cultural symbolism, cosmic imagery, dynamic patterns, empowering narratives", - "negative_prompt": "monochromatic" - }, - { - "name": "MK atompunk", - "prompt": "Atompunk illustation, {prompt} . retro-futuristic, atomic age aesthetics, sleek lines, metallic textures, futuristic technology, optimism, energy", - "negative_prompt": "organic, natural textures, rustic, dystopian" - }, - { - "name": "MK constructivism", - "prompt": "Constructivism {prompt} . geometric abstraction, bold colors, industrial aesthetics, dynamic compositions, utilitarian design, revolutionary spirit", - "negative_prompt": "organic shapes, muted colors, ornate elements, traditional" - }, - { - "name": "MK chicano-art", - "prompt": "Chicano art {prompt} . bold colors, cultural symbolism, muralism, lowrider aesthetics, barrio life, political messages, social activism, Mexico", - "negative_prompt": "monochromatic, minimalist, mainstream aesthetics" - }, - { - "name": "MK de-stijl", - "prompt": "De Stijl Art {prompt} . neoplasticism, primary colors, geometric abstraction, horizontal and vertical lines, simplicity, harmony, utopian ideals", - "negative_prompt": "complex patterns, muted colors, ornate elements, asymmetry" - }, - { - "name": "MK dayak-art", - "prompt": "Dayak art sculpture of {prompt} . intricate patterns, nature-inspired motifs, vibrant colors, traditional craftsmanship, cultural symbolism, storytelling", - "negative_prompt": "minimalist, monochromatic, modern" - }, - { - "name": "MK fayum-portrait", - "prompt": "Fayum portrait {prompt} . encaustic painting, realistic facial features, warm earth tones, serene expressions, ancient Egyptian influences", - "negative_prompt": "abstract, vibrant colors, exaggerated features, modern" - }, - { - "name": "MK illuminated-manuscript", - "prompt": "Illuminated manuscript {prompt} . intricate calligraphy, rich colors, detailed illustrations, gold leaf accents, ornate borders, religious, historical, medieval", - "negative_prompt": "modern typography, minimalist design, monochromatic, abstract themes" - }, - { - "name": "MK kalighat-painting", - "prompt": "Kalighat painting {prompt} . bold lines, vibrant colors, narrative storytelling, cultural motifs, flat compositions, expressive characters", - "negative_prompt": "subdued colors, intricate details, realistic portrayal, modern aesthetics" - }, - { - "name": "MK madhubani-painting", - "prompt": "Madhubani painting {prompt} . intricate patterns, vibrant colors, nature-inspired motifs, cultural storytelling, symmetry, folk art aesthetics", - "negative_prompt": "abstract, muted colors, minimalistic design, modern aesthetics" - }, - { - "name": "MK pictorialism", - "prompt": "Pictorialism illustration{prompt} . soft focus, atmospheric effects, artistic interpretation, tonality, muted colors, evocative storytelling", - "negative_prompt": "sharp focus, high contrast, realistic depiction, vivid colors" - }, - { - "name": "MK pichwai-painting", - "prompt": "Pichwai painting {prompt} . intricate detailing, vibrant colors, religious themes, nature motifs, devotional storytelling, gold leaf accents", - "negative_prompt": "minimalist, subdued colors, abstract design" - }, - { - "name": "MK patachitra-painting", - "prompt": "Patachitra painting {prompt} . bold outlines, vibrant colors, intricate detailing, mythological themes, storytelling, traditional craftsmanship", - "negative_prompt": "subdued colors, minimalistic, abstract, modern aesthetics" - }, - { - "name": "MK samoan-art-inspired", - "prompt": "Samoan art-inspired wooden sculpture {prompt} . traditional motifs, natural elements, bold colors, cultural symbolism, storytelling, craftsmanship", - "negative_prompt": "modern aesthetics, minimalist, abstract" - }, - { - "name": "MK tlingit-art", - "prompt": "Tlingit art {prompt} . formline design, natural elements, animal motifs, bold colors, cultural storytelling, traditional craftsmanship, Alaska traditional art, (totem:1.5)", - "negative_prompt": "" - }, - { - "name": "MK adnate-style", - "prompt": "Painting by Adnate {prompt} . realistic portraits, street art, large-scale murals, subdued color palette, social narratives", - "negative_prompt": "abstract, vibrant colors, small-scale art" - }, - { - "name": "MK ron-english-style", - "prompt": "Painting by Ron English {prompt} . pop-surrealism, cultural subversion, iconic mash-ups, vibrant and bold colors, satirical commentary", - "negative_prompt": "traditional, monochromatic" - }, - { - "name": "MK shepard-fairey-style", - "prompt": "Painting by Shepard Fairey {prompt} . street art, political activism, iconic stencils, bold typography, high contrast, red, black, and white color palette", - "negative_prompt": "traditional, muted colors" - } + { + "name": "Fooocus Enhance", + "negative_prompt": "(worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art:1.4), (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name:1.2), (blur, blurry, grainy), morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur:1.3), (3D ,3D Game, 3D Game Scene, 3D Character:1.1), (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities:1.3)", + "name_cn": "Fooocus-优化增强", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fooocus_enhance.jpg" + }, + { + "name": "Fooocus Sharp", + "prompt": "cinematic still {prompt} . emotional, harmonious, vignette, 4k epic detailed, shot on kodak, 35mm photo, sharp focus, high budget, cinemascope, moody, epic, gorgeous, film grain, grainy", + "negative_prompt": "anime, cartoon, graphic, (blur, blurry, bokeh), text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured", + "name_cn": "Fooocus-锐化", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fooocus_sharp.jpg" + }, + { + "name": "Fooocus Masterpiece", + "prompt": "(masterpiece), (best quality), (ultra-detailed), {prompt}, illustration, disheveled hair, detailed eyes, perfect composition, moist skin, intricate details, earrings, by wlop", + "negative_prompt": "longbody, lowres, bad anatomy, bad hands, missing fingers, pubic hair,extra digit, fewer digits, cropped, worst quality, low quality", + "name_cn": "Fooocus-杰作", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fooocus_masterpiece.jpg" + }, + { + "name": "Fooocus Photograph", + "prompt": "photograph {prompt}, 50mm . cinematic 4k epic detailed 4k epic detailed photograph shot on kodak detailed cinematic hbo dark moody, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage", + "negative_prompt": "Brad Pitt, bokeh, depth of field, blurry, cropped, regular face, saturated, contrast, deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime, text, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck", + "name_cn": "Fooocus-照片", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fooocus_photograph.jpg" + }, + { + "name": "Fooocus Negative", + "negative_prompt": "deformed, bad anatomy, disfigured, poorly drawn face, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, disconnected head, malformed hands, long neck, mutated hands and fingers, bad hands, missing fingers, cropped, worst quality, low quality, mutation, poorly drawn, huge calf, bad hands, fused hand, missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs, missing fingers, fused fingers, abnormal eye proportion, Abnormal hands, abnormal legs, abnormal feet, abnormal fingers, drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly, anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch", + "name_cn": "Fooocus-反向提示词", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fooocus_negative.jpg" + }, + { + "name": "Fooocus Cinematic", + "prompt": "cinematic still {prompt} . emotional, harmonious, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy", + "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured", + "name_cn": "Fooocus-电影感", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fooocus_cinematic.jpg" + }, + { + "name": "sai-3d-model", + "prompt": "professional 3d model {prompt} . octane render, highly detailed, volumetric, dramatic lighting", + "negative_prompt": "ugly, deformed, noisy, low poly, blurry, painting", + "name_cn": "SAI-3D模型", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_3d_model.jpg" + }, + { + "name": "sai-analog film", + "prompt": "analog film photo {prompt} . faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage", + "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured", + "name_cn": "SAI-模拟电影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_analog_film.jpg" + }, + { + "name": "sai-anime", + "prompt": "anime artwork {prompt} . anime style, key visual, vibrant, studio anime, highly detailed", + "negative_prompt": "photo, deformed, black and white, realism, disfigured, low contrast", + "name_cn": "SAI-动漫", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_anime.jpg" + }, + { + "name": "sai-cinematic", + "prompt": "cinematic film still {prompt} . shallow depth of field, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy", + "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured", + "name_cn": "SAI-电影片段", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_cinematic.jpg" + }, + { + "name": "sai-comic book", + "prompt": "comic {prompt} . graphic illustration, comic art, graphic novel art, vibrant, highly detailed", + "negative_prompt": "photograph, deformed, glitch, noisy, realistic, stock photo", + "name_cn": "SAI-漫画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_comic_book.jpg" + }, + { + "name": "sai-craft clay", + "prompt": "play-doh style {prompt} . sculpture, clay art, centered composition, Claymation", + "negative_prompt": "sloppy, messy, grainy, highly detailed, ultra textured, photo", + "name_cn": "SAI-工艺粘土", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_craft_clay.jpg" + }, + { + "name": "sai-digital art", + "prompt": "concept art {prompt} . digital artwork, illustrative, painterly, matte painting, highly detailed", + "negative_prompt": "photo, photorealistic, realism, ugly", + "name_cn": "SAI-数字艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_digital_art.jpg" + }, + { + "name": "sai-enhance", + "prompt": "breathtaking {prompt} . award-winning, professional, highly detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy", + "name_cn": "SAI-增强", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_enhance.jpg" + }, + { + "name": "sai-fantasy art", + "prompt": "ethereal fantasy concept art of {prompt} . magnificent, celestial, ethereal, painterly, epic, majestic, magical, fantasy art, cover art, dreamy", + "negative_prompt": "photographic, realistic, realism, 35mm film, dslr, cropped, frame, text, deformed, glitch, noise, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white", + "name_cn": "SAI-奇幻艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_fantasy_art.jpg" + }, + { + "name": "sai-isometric", + "prompt": "isometric style {prompt} . vibrant, beautiful, crisp, detailed, ultra detailed, intricate", + "negative_prompt": "deformed, mutated, ugly, disfigured, blur, blurry, noise, noisy, realistic, photographic", + "name_cn": "SAI-等距风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_isometric.jpg" + }, + { + "name": "sai-line art", + "prompt": "line art drawing {prompt} . professional, sleek, modern, minimalist, graphic, line art, vector graphics", + "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, blurry, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, mutated, realism, realistic, impressionism, expressionism, oil, acrylic", + "name_cn": "SAI-线条艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_line_art.jpg" + }, + { + "name": "sai-lowpoly", + "prompt": "low-poly style {prompt} . low-poly game art, polygon mesh, jagged, blocky, wireframe edges, centered composition", + "negative_prompt": "noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo", + "name_cn": "SAI-低多边形", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_lowpoly.jpg" + }, + { + "name": "sai-neonpunk", + "prompt": "neonpunk style {prompt} . cyberpunk, vaporwave, neon, vibes, vibrant, stunningly beautiful, crisp, detailed, sleek, ultramodern, magenta highlights, dark purple shadows, high contrast, cinematic, ultra detailed, intricate, professional", + "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured", + "name_cn": "SAI-霓虹朋克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_neonpunk.jpg" + }, + { + "name": "sai-origami", + "prompt": "origami style {prompt} . paper art, pleated paper, folded, origami art, pleats, cut and fold, centered composition", + "negative_prompt": "noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo", + "name_cn": "SAI-折纸", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_origami.jpg" + }, + { + "name": "sai-photographic", + "prompt": "cinematic photo {prompt} . 35mm photograph, film, bokeh, professional, 4k, highly detailed", + "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly", + "name_cn": "SAI-摄影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_photographic.jpg" + }, + { + "name": "sai-pixel art", + "prompt": "pixel-art {prompt} . low-res, blocky, pixel art style, 8-bit graphics", + "negative_prompt": "sloppy, messy, blurry, noisy, highly detailed, ultra textured, photo, realistic", + "name_cn": "SAI-像素艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_pixel_art.jpg" + }, + { + "name": "sai-texture", + "prompt": "texture {prompt} top down close-up", + "negative_prompt": "ugly, deformed, noisy, blurry", + "name_cn": "SAI-纹理", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sai_texture.jpg" + }, + { + "name": "mre-cinematic-dynamic", + "prompt": "epic cinematic shot of dynamic {prompt} in motion. main subject of high budget action movie. raw photo, motion blur. best quality, high resolution", + "negative_prompt": "static, still, motionless, sluggish. drawing, painting, illustration, rendered. low budget. low quality, low resolution", + "name_cn": "MRE-史诗电影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_cinematic_dynamic.jpg" + }, + { + "name": "mre-spontaneous-picture", + "prompt": "spontaneous picture of {prompt}, taken by talented amateur. best quality, high resolution. magical moment, natural look. simple but good looking", + "negative_prompt": "overthinked. low quality, low resolution", + "name_cn": "MRE-自然的抓拍照片", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_spontaneous_picture.jpg" + }, + { + "name": "mre-artistic-vision", + "prompt": "powerful artistic vision of {prompt}. breathtaking masterpiece made by great artist. best quality, high resolution", + "negative_prompt": "insignificant, flawed, made by bad artist. low quality, low resolution", + "name_cn": "MRE-艺术视觉", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_artistic_vision.jpg" + }, + { + "name": "mre-dark-dream", + "prompt": "dark and unsettling dream showing {prompt}. best quality, high resolution. created by genius but depressed mad artist. grim beauty", + "negative_prompt": "naive, cheerful. comfortable, casual, boring, cliche. low quality, low resolution", + "name_cn": "MRE-黑暗梦境", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_dark_dream.jpg" + }, + { + "name": "mre-gloomy-art", + "prompt": "astonishing gloomy art made mainly of shadows and lighting, forming {prompt}. masterful usage of lighting, shadows and chiaroscuro. made by black-hearted artist, drawing from darkness. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-阴郁艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_gloomy_art.jpg" + }, + { + "name": "mre-bad-dream", + "prompt": "picture from really bad dream about terrifying {prompt}, true horror. bone-chilling vision. mad world that shouldn't exist. best quality, high resolution", + "negative_prompt": "nice dream, pleasant experience. low quality, low resolution", + "name_cn": "MRE-噩梦", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_bad_dream.jpg" + }, + { + "name": "mre-underground", + "prompt": "uncanny caliginous vision of {prompt}, created by remarkable underground artist. best quality, high resolution. raw and brutal art, careless but impressive style. inspired by darkness and chaos", + "negative_prompt": "photography, mainstream, civilized. low quality, low resolution", + "name_cn": "MRE-阴森地下", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_underground.jpg" + }, + { + "name": "mre-surreal-painting", + "prompt": "surreal painting representing strange vision of {prompt}. harmonious madness, synergy with chance. unique artstyle, mindbending art, magical surrealism. best quality, high resolution", + "negative_prompt": "photography, illustration, drawing. realistic, possible. logical, sane. low quality, low resolution", + "name_cn": "MRE-超现实主义绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_surreal_painting.jpg" + }, + { + "name": "mre-dynamic-illustration", + "prompt": "insanely dynamic illustration of {prompt}. best quality, high resolution. crazy artstyle, careless brushstrokes, emotional and fun", + "negative_prompt": "photography, realistic. static, still, slow, boring. low quality, low resolution", + "name_cn": "MRE-动态插画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_dynamic_illustration.jpg" + }, + { + "name": "mre-undead-art", + "prompt": "long forgotten art created by undead artist illustrating {prompt}, tribute to the death and decay. miserable art of the damned. wretched and decaying world. best quality, high resolution", + "negative_prompt": "alive, playful, living. low quality, low resolution", + "name_cn": "MRE-遗忘艺术家作品", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_undead_art.jpg" + }, + { + "name": "mre-elemental-art", + "prompt": "art illustrating insane amounts of raging elemental energy turning into {prompt}, avatar of elements. magical surrealism, wizardry. best quality, high resolution", + "negative_prompt": "photography, realistic, real. low quality, low resolution", + "name_cn": "MRE-元素艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_elemental_art.jpg" + }, + { + "name": "mre-space-art", + "prompt": "winner of inter-galactic art contest illustrating {prompt}, symbol of the interstellar singularity. best quality, high resolution. artstyle previously unseen in the whole galaxy", + "negative_prompt": "created by human race, low quality, low resolution", + "name_cn": "MRE-空间艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_space_art.jpg" + }, + { + "name": "mre-ancient-illustration", + "prompt": "sublime ancient illustration of {prompt}, predating human civilization. crude and simple, but also surprisingly beautiful artwork, made by genius primeval artist. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-古代插图", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_ancient_illustration.jpg" + }, + { + "name": "mre-brave-art", + "prompt": "brave, shocking, and brutally true art showing {prompt}. inspired by courage and unlimited creativity. truth found in chaos. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-勇敢艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_brave_art.jpg" + }, + { + "name": "mre-heroic-fantasy", + "prompt": "heroic fantasy painting of {prompt}, in the dangerous fantasy world. airbrush over oil on canvas. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-英雄幻想", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_heroic_fantasy.jpg" + }, + { + "name": "mre-dark-cyberpunk", + "prompt": "dark cyberpunk illustration of brutal {prompt} in a world without hope, ruled by ruthless criminal corporations. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-黑暗赛博朋克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_dark_cyberpunk.jpg" + }, + { + "name": "mre-lyrical-geometry", + "prompt": "geometric and lyrical abstraction painting presenting {prompt}. oil on metal. best quality, high resolution", + "negative_prompt": "photography, realistic, drawing, rendered. low quality, low resolution", + "name_cn": "MRE-抒情几何抽象画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_lyrical_geometry.jpg" + }, + { + "name": "mre-sumi-e-symbolic", + "prompt": "big long brushstrokes of deep black sumi-e turning into symbolic painting of {prompt}. master level raw art. best quality, high resolution", + "negative_prompt": "photography, rendered. low quality, low resolution", + "name_cn": "MRE-墨绘长笔画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_sumi_e_symbolic.jpg" + }, + { + "name": "mre-sumi-e-detailed", + "prompt": "highly detailed black sumi-e painting of {prompt}. in-depth study of perfection, created by a master. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-精细墨绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_sumi_e_detailed.jpg" + }, + { + "name": "mre-manga", + "prompt": "manga artwork presenting {prompt}. created by japanese manga artist. highly emotional. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-日本漫画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_manga.jpg" + }, + { + "name": "mre-anime", + "prompt": "anime artwork illustrating {prompt}. created by japanese anime studio. highly emotional. best quality, high resolution", + "negative_prompt": "low quality, low resolution", + "name_cn": "MRE-日本动画片", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_anime.jpg" + }, + { + "name": "mre-comic", + "prompt": "breathtaking illustration from adult comic book presenting {prompt}. fabulous artwork. best quality, high resolution", + "negative_prompt": "deformed, ugly, low quality, low resolution", + "name_cn": "MRE-成人漫画书插画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mre_comic.jpg" + }, + { + "name": "ads-advertising", + "prompt": "advertising poster style {prompt} . Professional, modern, product-focused, commercial, eye-catching, highly detailed", + "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive", + "name_cn": "广告-广告", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_advertising.jpg" + }, + { + "name": "ads-automotive", + "prompt": "automotive advertisement style {prompt} . sleek, dynamic, professional, commercial, vehicle-focused, high-resolution, highly detailed", + "negative_prompt": "noisy, blurry, unattractive, sloppy, unprofessional", + "name_cn": "广告-汽车", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_automotive.jpg" + }, + { + "name": "ads-corporate", + "prompt": "corporate branding style {prompt} . professional, clean, modern, sleek, minimalist, business-oriented, highly detailed", + "negative_prompt": "noisy, blurry, grungy, sloppy, cluttered, disorganized", + "name_cn": "广告-企业品牌", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_corporate.jpg" + }, + { + "name": "ads-fashion editorial", + "prompt": "fashion editorial style {prompt} . high fashion, trendy, stylish, editorial, magazine style, professional, highly detailed", + "negative_prompt": "outdated, blurry, noisy, unattractive, sloppy", + "name_cn": "广告-时尚编辑", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_fashion_editorial.jpg" + }, + { + "name": "ads-food photography", + "prompt": "food photography style {prompt} . appetizing, professional, culinary, high-resolution, commercial, highly detailed", + "negative_prompt": "unappetizing, sloppy, unprofessional, noisy, blurry", + "name_cn": "广告-食品摄影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_food_photography.jpg" + }, + { + "name": "ads-gourmet food photography", + "prompt": "gourmet food photo of {prompt} . soft natural lighting, macro details, vibrant colors, fresh ingredients, glistening textures, bokeh background, styled plating, wooden tabletop, garnished, tantalizing, editorial quality", + "negative_prompt": "cartoon, anime, sketch, grayscale, dull, overexposed, cluttered, messy plate, deformed", + "name_cn": "广告-顶级美食摄影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_gourmet_food_photography.jpg" + }, + { + "name": "ads-luxury", + "prompt": "luxury product style {prompt} . elegant, sophisticated, high-end, luxurious, professional, highly detailed", + "negative_prompt": "cheap, noisy, blurry, unattractive, amateurish", + "name_cn": "广告-奢侈品", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_luxury.jpg" + }, + { + "name": "ads-real estate", + "prompt": "real estate photography style {prompt} . professional, inviting, well-lit, high-resolution, property-focused, commercial, highly detailed", + "negative_prompt": "dark, blurry, unappealing, noisy, unprofessional", + "name_cn": "广告-房地产", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_real_estate.jpg" + }, + { + "name": "ads-retail", + "prompt": "retail packaging style {prompt} . vibrant, enticing, commercial, product-focused, eye-catching, professional, highly detailed", + "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive", + "name_cn": "广告-零售", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ads_retail.jpg" + }, + { + "name": "artstyle-abstract", + "prompt": "abstract style {prompt} . non-representational, colors and shapes, expression of feelings, imaginative, highly detailed", + "negative_prompt": "realistic, photographic, figurative, concrete", + "name_cn": "艺术风格-抽象", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_abstract.jpg" + }, + { + "name": "artstyle-abstract expressionism", + "prompt": "abstract expressionist painting {prompt} . energetic brushwork, bold colors, abstract forms, expressive, emotional", + "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, monochrome", + "name_cn": "艺术风格-抽象表现主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_abstract_expressionism.jpg" + }, + { + "name": "artstyle-art deco", + "prompt": "art deco style {prompt} . geometric shapes, bold colors, luxurious, elegant, decorative, symmetrical, ornate, detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist", + "name_cn": "艺术风格-装饰艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_art_deco.jpg" + }, + { + "name": "artstyle-art nouveau", + "prompt": "art nouveau style {prompt} . elegant, decorative, curvilinear forms, nature-inspired, ornate, detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist", + "name_cn": "艺术风格-新艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_art_nouveau.jpg" + }, + { + "name": "artstyle-constructivist", + "prompt": "constructivist style {prompt} . geometric shapes, bold colors, dynamic composition, propaganda art style", + "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, abstract expressionism", + "name_cn": "艺术风格-构造主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_constructivist.jpg" + }, + { + "name": "artstyle-cubist", + "prompt": "cubist artwork {prompt} . geometric shapes, abstract, innovative, revolutionary", + "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy", + "name_cn": "艺术风格-立体主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_cubist.jpg" + }, + { + "name": "artstyle-expressionist", + "prompt": "expressionist {prompt} . raw, emotional, dynamic, distortion for emotional effect, vibrant, use of unusual colors, detailed", + "negative_prompt": "realism, symmetry, quiet, calm, photo", + "name_cn": "艺术风格-表现主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_expressionist.jpg" + }, + { + "name": "artstyle-graffiti", + "prompt": "graffiti style {prompt} . street art, vibrant, urban, detailed, tag, mural", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic", + "name_cn": "艺术风格-涂鸦", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_graffiti.jpg" + }, + { + "name": "artstyle-hyperrealism", + "prompt": "hyperrealistic art {prompt} . extremely high-resolution details, photographic, realism pushed to extreme, fine texture, incredibly lifelike", + "negative_prompt": "simplified, abstract, unrealistic, impressionistic, low resolution", + "name_cn": "艺术风格-超写实主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_hyperrealism.jpg" + }, + { + "name": "artstyle-impressionist", + "prompt": "impressionist painting {prompt} . loose brushwork, vibrant color, light and shadow play, captures feeling over form", + "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy", + "name_cn": "艺术风格-印象派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_impressionist.jpg" + }, + { + "name": "artstyle-pointillism", + "prompt": "pointillism style {prompt} . composed entirely of small, distinct dots of color, vibrant, highly detailed", + "negative_prompt": "line drawing, smooth shading, large color fields, simplistic", + "name_cn": "艺术风格-点彩派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_pointillism.jpg" + }, + { + "name": "artstyle-pop art", + "prompt": "pop Art style {prompt} . bright colors, bold outlines, popular culture themes, ironic or kitsch", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, minimalist", + "name_cn": "艺术风格-波普艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_pop_art.jpg" + }, + { + "name": "artstyle-psychedelic", + "prompt": "psychedelic style {prompt} . vibrant colors, swirling patterns, abstract forms, surreal, trippy", + "negative_prompt": "monochrome, black and white, low contrast, realistic, photorealistic, plain, simple", + "name_cn": "艺术风格-迷幻", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_psychedelic.jpg" + }, + { + "name": "artstyle-renaissance", + "prompt": "renaissance style {prompt} . realistic, perspective, light and shadow, religious or mythological themes, highly detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, modernist, minimalist, abstract", + "name_cn": "艺术风格-文艺复兴", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_renaissance.jpg" + }, + { + "name": "artstyle-steampunk", + "prompt": "steampunk style {prompt} . antique, mechanical, brass and copper tones, gears, intricate, detailed", + "negative_prompt": "deformed, glitch, noisy, low contrast, anime, photorealistic", + "name_cn": "艺术风格-蒸汽朋克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_steampunk.jpg" + }, + { + "name": "artstyle-surrealist", + "prompt": "surrealist art {prompt} . dreamlike, mysterious, provocative, symbolic, intricate, detailed", + "negative_prompt": "anime, photorealistic, realistic, deformed, glitch, noisy, low contrast", + "name_cn": "艺术风格-超现实主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_surrealist.jpg" + }, + { + "name": "artstyle-typography", + "prompt": "typographic art {prompt} . stylized, intricate, detailed, artistic, text-based", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic", + "name_cn": "艺术风格-字体设计", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_typography.jpg" + }, + { + "name": "artstyle-watercolor", + "prompt": "watercolor painting {prompt} . vibrant, beautiful, painterly, detailed, textural, artistic", + "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy", + "name_cn": "艺术风格-水彩", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/artstyle_watercolor.jpg" + }, + { + "name": "futuristic-biomechanical", + "prompt": "biomechanical style {prompt} . blend of organic and mechanical elements, futuristic, cybernetic, detailed, intricate", + "negative_prompt": "natural, rustic, primitive, organic, simplistic", + "name_cn": "未来主义-生物机械", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_biomechanical.jpg" + }, + { + "name": "futuristic-biomechanical cyberpunk", + "prompt": "biomechanical cyberpunk {prompt} . cybernetics, human-machine fusion, dystopian, organic meets artificial, dark, intricate, highly detailed", + "negative_prompt": "natural, colorful, deformed, sketch, low contrast, watercolor", + "name_cn": "未来主义-生物机械-赛博朋克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_biomechanical_cyberpunk.jpg" + }, + { + "name": "futuristic-cybernetic", + "prompt": "cybernetic style {prompt} . futuristic, technological, cybernetic enhancements, robotics, artificial intelligence themes", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval", + "name_cn": "未来主义-人机融合", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_cybernetic.jpg" + }, + { + "name": "futuristic-cybernetic robot", + "prompt": "cybernetic robot {prompt} . android, AI, machine, metal, wires, tech, futuristic, highly detailed", + "negative_prompt": "organic, natural, human, sketch, watercolor, low contrast", + "name_cn": "未来主义-人机融合-机器人", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_cybernetic_robot.jpg" + }, + { + "name": "futuristic-cyberpunk cityscape", + "prompt": "cyberpunk cityscape {prompt} . neon lights, dark alleys, skyscrapers, futuristic, vibrant colors, high contrast, highly detailed", + "negative_prompt": "natural, rural, deformed, low contrast, black and white, sketch, watercolor", + "name_cn": "未来主义-赛博朋克城市", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_cyberpunk_cityscape.jpg" + }, + { + "name": "futuristic-futuristic", + "prompt": "futuristic style {prompt} . sleek, modern, ultramodern, high tech, detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vintage, antique", + "name_cn": "未来主义-未来主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_futuristic.jpg" + }, + { + "name": "futuristic-retro cyberpunk", + "prompt": "retro cyberpunk {prompt} . 80's inspired, synthwave, neon, vibrant, detailed, retro futurism", + "negative_prompt": "modern, desaturated, black and white, realism, low contrast", + "name_cn": "未来主义-复古赛博朋克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_retro_cyberpunk.jpg" + }, + { + "name": "futuristic-retro futurism", + "prompt": "retro-futuristic {prompt} . vintage sci-fi, 50s and 60s style, atomic age, vibrant, highly detailed", + "negative_prompt": "contemporary, realistic, rustic, primitive", + "name_cn": "未来主义-复古未来主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_retro_futurism.jpg" + }, + { + "name": "futuristic-sci-fi", + "prompt": "sci-fi style {prompt} . futuristic, technological, alien worlds, space themes, advanced civilizations", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval", + "name_cn": "未来主义-科幻", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_sci_fi.jpg" + }, + { + "name": "futuristic-vaporwave", + "prompt": "vaporwave style {prompt} . retro aesthetic, cyberpunk, vibrant, neon colors, vintage 80s and 90s style, highly detailed", + "negative_prompt": "monochrome, muted colors, realism, rustic, minimalist, dark", + "name_cn": "未来主义-蒸汽波", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futuristic_vaporwave.jpg" + }, + { + "name": "game-bubble bobble", + "prompt": "Bubble Bobble style {prompt} . 8-bit, cute, pixelated, fantasy, vibrant, reminiscent of Bubble Bobble game", + "negative_prompt": "realistic, modern, photorealistic, violent, horror", + "name_cn": "游戏-泡泡龙", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_bubble_bobble.jpg" + }, + { + "name": "game-cyberpunk game", + "prompt": "cyberpunk game style {prompt} . neon, dystopian, futuristic, digital, vibrant, detailed, high contrast, reminiscent of cyberpunk genre video games", + "negative_prompt": "historical, natural, rustic, low detailed", + "name_cn": "游戏-赛博朋克游戏", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_cyberpunk_game.jpg" + }, + { + "name": "game-fighting game", + "prompt": "fighting game style {prompt} . dynamic, vibrant, action-packed, detailed character design, reminiscent of fighting video games", + "negative_prompt": "peaceful, calm, minimalist, photorealistic", + "name_cn": "游戏-格斗游戏", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_fighting_game.jpg" + }, + { + "name": "game-gta", + "prompt": "GTA-style artwork {prompt} . satirical, exaggerated, pop art style, vibrant colors, iconic characters, action-packed", + "negative_prompt": "realistic, black and white, low contrast, impressionist, cubist, noisy, blurry, deformed", + "name_cn": "游戏-侠盗猎车手", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_gta.jpg" + }, + { + "name": "game-mario", + "prompt": "Super Mario style {prompt} . vibrant, cute, cartoony, fantasy, playful, reminiscent of Super Mario series", + "negative_prompt": "realistic, modern, horror, dystopian, violent", + "name_cn": "游戏-马里奥", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_mario.jpg" + }, + { + "name": "game-minecraft", + "prompt": "Minecraft style {prompt} . blocky, pixelated, vibrant colors, recognizable characters and objects, game assets", + "negative_prompt": "smooth, realistic, detailed, photorealistic, noise, blurry, deformed", + "name_cn": "游戏-我的世界", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_minecraft.jpg" + }, + { + "name": "game-pokemon", + "prompt": "Pokémon style {prompt} . vibrant, cute, anime, fantasy, reminiscent of Pokémon series", + "negative_prompt": "realistic, modern, horror, dystopian, violent", + "name_cn": "游戏-宝可梦", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_pokemon.jpg" + }, + { + "name": "game-retro arcade", + "prompt": "retro arcade style {prompt} . 8-bit, pixelated, vibrant, classic video game, old school gaming, reminiscent of 80s and 90s arcade games", + "negative_prompt": "modern, ultra-high resolution, photorealistic, 3D", + "name_cn": "游戏-复古街机", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_retro_arcade.jpg" + }, + { + "name": "game-retro game", + "prompt": "retro game art {prompt} . 16-bit, vibrant colors, pixelated, nostalgic, charming, fun", + "negative_prompt": "realistic, photorealistic, 35mm film, deformed, glitch, low contrast, noisy", + "name_cn": "游戏-复古游戏", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_retro_game.jpg" + }, + { + "name": "game-rpg fantasy game", + "prompt": "role-playing game (RPG) style fantasy {prompt} . detailed, vibrant, immersive, reminiscent of high fantasy RPG games", + "negative_prompt": "sci-fi, modern, urban, futuristic, low detailed", + "name_cn": "游戏-角色扮演幻想游戏", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_rpg_fantasy_game.jpg" + }, + { + "name": "game-strategy game", + "prompt": "strategy game style {prompt} . overhead view, detailed map, units, reminiscent of real-time strategy video games", + "negative_prompt": "first-person view, modern, photorealistic", + "name_cn": "游戏-策略游戏", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_strategy_game.jpg" + }, + { + "name": "game-streetfighter", + "prompt": "Street Fighter style {prompt} . vibrant, dynamic, arcade, 2D fighting game, highly detailed, reminiscent of Street Fighter series", + "negative_prompt": "3D, realistic, modern, photorealistic, turn-based strategy", + "name_cn": "游戏-街头霸王", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_streetfighter.jpg" + }, + { + "name": "game-zelda", + "prompt": "Legend of Zelda style {prompt} . vibrant, fantasy, detailed, epic, heroic, reminiscent of The Legend of Zelda series", + "negative_prompt": "sci-fi, modern, realistic, horror", + "name_cn": "游戏-塞尔达传说", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/game_zelda.jpg" + }, + { + "name": "misc-architectural", + "prompt": "architectural style {prompt} . clean lines, geometric shapes, minimalist, modern, architectural drawing, highly detailed", + "negative_prompt": "curved lines, ornate, baroque, abstract, grunge", + "name_cn": "其他-建筑", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_architectural.jpg" + }, + { + "name": "misc-disco", + "prompt": "disco-themed {prompt} . vibrant, groovy, retro 70s style, shiny disco balls, neon lights, dance floor, highly detailed", + "negative_prompt": "minimalist, rustic, monochrome, contemporary, simplistic", + "name_cn": "其他-迪斯科", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_disco.jpg" + }, + { + "name": "misc-dreamscape", + "prompt": "dreamscape {prompt} . surreal, ethereal, dreamy, mysterious, fantasy, highly detailed", + "negative_prompt": "realistic, concrete, ordinary, mundane", + "name_cn": "其他-梦境", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_dreamscape.jpg" + }, + { + "name": "misc-dystopian", + "prompt": "dystopian style {prompt} . bleak, post-apocalyptic, somber, dramatic, highly detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, cheerful, optimistic, vibrant, colorful", + "name_cn": "其他-反乌托邦", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_dystopian.jpg" + }, + { + "name": "misc-fairy tale", + "prompt": "fairy tale {prompt} . magical, fantastical, enchanting, storybook style, highly detailed", + "negative_prompt": "realistic, modern, ordinary, mundane", + "name_cn": "其他-童话故事", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_fairy_tale.jpg" + }, + { + "name": "misc-gothic", + "prompt": "gothic style {prompt} . dark, mysterious, haunting, dramatic, ornate, detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, cheerful, optimistic", + "name_cn": "其他-哥特风", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_gothic.jpg" + }, + { + "name": "misc-grunge", + "prompt": "grunge style {prompt} . textured, distressed, vintage, edgy, punk rock vibe, dirty, noisy", + "negative_prompt": "smooth, clean, minimalist, sleek, modern, photorealistic", + "name_cn": "其他-垮掉的", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_grunge.jpg" + }, + { + "name": "misc-horror", + "prompt": "horror-themed {prompt} . eerie, unsettling, dark, spooky, suspenseful, grim, highly detailed", + "negative_prompt": "cheerful, bright, vibrant, light-hearted, cute", + "name_cn": "其他-恐怖", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_horror.jpg" + }, + { + "name": "misc-kawaii", + "prompt": "kawaii style {prompt} . cute, adorable, brightly colored, cheerful, anime influence, highly detailed", + "negative_prompt": "dark, scary, realistic, monochrome, abstract", + "name_cn": "其他-可爱", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_kawaii.jpg" + }, + { + "name": "misc-lovecraftian", + "prompt": "lovecraftian horror {prompt} . eldritch, cosmic horror, unknown, mysterious, surreal, highly detailed", + "negative_prompt": "light-hearted, mundane, familiar, simplistic, realistic", + "name_cn": "其他-洛夫克拉夫特", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_lovecraftian.jpg" + }, + { + "name": "misc-macabre", + "prompt": "macabre style {prompt} . dark, gothic, grim, haunting, highly detailed", + "negative_prompt": "bright, cheerful, light-hearted, cartoonish, cute", + "name_cn": "其他-恐怖", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_macabre.jpg" + }, + { + "name": "misc-manga", + "prompt": "manga style {prompt} . vibrant, high-energy, detailed, iconic, Japanese comic style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, Western comic style", + "name_cn": "其他-漫画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_manga.jpg" + }, + { + "name": "misc-metropolis", + "prompt": "metropolis-themed {prompt} . urban, cityscape, skyscrapers, modern, futuristic, highly detailed", + "negative_prompt": "rural, natural, rustic, historical, simple", + "name_cn": "其他-大都市", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_metropolis.jpg" + }, + { + "name": "misc-minimalist", + "prompt": "minimalist style {prompt} . simple, clean, uncluttered, modern, elegant", + "negative_prompt": "ornate, complicated, highly detailed, cluttered, disordered, messy, noisy", + "name_cn": "其他-极简主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_minimalist.jpg" + }, + { + "name": "misc-monochrome", + "prompt": "monochrome {prompt} . black and white, contrast, tone, texture, detailed", + "negative_prompt": "colorful, vibrant, noisy, blurry, deformed", + "name_cn": "其他-单色", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_monochrome.jpg" + }, + { + "name": "misc-nautical", + "prompt": "nautical-themed {prompt} . sea, ocean, ships, maritime, beach, marine life, highly detailed", + "negative_prompt": "landlocked, desert, mountains, urban, rustic", + "name_cn": "其他-航海", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_nautical.jpg" + }, + { + "name": "misc-space", + "prompt": "space-themed {prompt} . cosmic, celestial, stars, galaxies, nebulas, planets, science fiction, highly detailed", + "negative_prompt": "earthly, mundane, ground-based, realism", + "name_cn": "其他-太空", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_space.jpg" + }, + { + "name": "misc-stained glass", + "prompt": "stained glass style {prompt} . vibrant, beautiful, translucent, intricate, detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic", + "name_cn": "其他-彩色玻璃", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_stained_glass.jpg" + }, + { + "name": "misc-techwear fashion", + "prompt": "techwear fashion {prompt} . futuristic, cyberpunk, urban, tactical, sleek, dark, highly detailed", + "negative_prompt": "vintage, rural, colorful, low contrast, realism, sketch, watercolor", + "name_cn": "其他-科技时尚", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_techwear_fashion.jpg" + }, + { + "name": "misc-tribal", + "prompt": "tribal style {prompt} . indigenous, ethnic, traditional patterns, bold, natural colors, highly detailed", + "negative_prompt": "modern, futuristic, minimalist, pastel", + "name_cn": "其他-部落", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_tribal.jpg" + }, + { + "name": "misc-zentangle", + "prompt": "zentangle {prompt} . intricate, abstract, monochrome, patterns, meditative, highly detailed", + "negative_prompt": "colorful, representative, simplistic, large fields of color", + "name_cn": "其他-禅绕画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/misc_zentangle.jpg" + }, + { + "name": "papercraft-collage", + "prompt": "collage style {prompt} . mixed media, layered, textural, detailed, artistic", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic", + "name_cn": "手工艺-拼贴", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_collage.jpg" + }, + { + "name": "papercraft-flat papercut", + "prompt": "flat papercut style {prompt} . silhouette, clean cuts, paper, sharp edges, minimalist, color block", + "negative_prompt": "3D, high detail, noise, grainy, blurry, painting, drawing, photo, disfigured", + "name_cn": "手工艺-平面剪纸", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_flat_papercut.jpg" + }, + { + "name": "papercraft-kirigami", + "prompt": "kirigami representation of {prompt} . 3D, paper folding, paper cutting, Japanese, intricate, symmetrical, precision, clean lines", + "negative_prompt": "painting, drawing, 2D, noisy, blurry, deformed", + "name_cn": "手工艺-切纸", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_kirigami.jpg" + }, + { + "name": "papercraft-paper mache", + "prompt": "paper mache representation of {prompt} . 3D, sculptural, textured, handmade, vibrant, fun", + "negative_prompt": "2D, flat, photo, sketch, digital art, deformed, noisy, blurry", + "name_cn": "手工艺-纸浆塑造", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_paper_mache.jpg" + }, + { + "name": "papercraft-paper quilling", + "prompt": "paper quilling art of {prompt} . intricate, delicate, curling, rolling, shaping, coiling, loops, 3D, dimensional, ornamental", + "negative_prompt": "photo, painting, drawing, 2D, flat, deformed, noisy, blurry", + "name_cn": "手工艺-纸艺卷轴", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_paper_quilling.jpg" + }, + { + "name": "papercraft-papercut collage", + "prompt": "papercut collage of {prompt} . mixed media, textured paper, overlapping, asymmetrical, abstract, vibrant", + "negative_prompt": "photo, 3D, realistic, drawing, painting, high detail, disfigured", + "name_cn": "手工艺-剪纸拼贴", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_papercut_collage.jpg" + }, + { + "name": "papercraft-papercut shadow box", + "prompt": "3D papercut shadow box of {prompt} . layered, dimensional, depth, silhouette, shadow, papercut, handmade, high contrast", + "negative_prompt": "painting, drawing, photo, 2D, flat, high detail, blurry, noisy, disfigured", + "name_cn": "手工艺-剪纸影箱", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_papercut_shadow_box.jpg" + }, + { + "name": "papercraft-stacked papercut", + "prompt": "stacked papercut art of {prompt} . 3D, layered, dimensional, depth, precision cut, stacked layers, papercut, high contrast", + "negative_prompt": "2D, flat, noisy, blurry, painting, drawing, photo, deformed", + "name_cn": "手工艺-层叠剪纸", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_stacked_papercut.jpg" + }, + { + "name": "papercraft-thick layered papercut", + "prompt": "thick layered papercut art of {prompt} . deep 3D, volumetric, dimensional, depth, thick paper, high stack, heavy texture, tangible layers", + "negative_prompt": "2D, flat, thin paper, low stack, smooth texture, painting, drawing, photo, deformed", + "name_cn": "手工艺-厚层剪纸", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/papercraft_thick_layered_papercut.jpg" + }, + { + "name": "photo-alien", + "prompt": "alien-themed {prompt} . extraterrestrial, cosmic, otherworldly, mysterious, sci-fi, highly detailed", + "negative_prompt": "earthly, mundane, common, realistic, simple", + "name_cn": "摄影-外星人", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_alien.jpg" + }, + { + "name": "photo-film noir", + "prompt": "film noir style {prompt} . monochrome, high contrast, dramatic shadows, 1940s style, mysterious, cinematic", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vibrant, colorful", + "name_cn": "摄影-黑色电影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_film_noir.jpg" + }, + { + "name": "photo-glamour", + "prompt": "glamorous photo {prompt} . high fashion, luxurious, extravagant, stylish, sensual, opulent, elegance, stunning beauty, professional, high contrast, detailed", + "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy, sketch, low contrast, dull, plain, modest", + "name_cn": "摄影-魅力", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_glamour.jpg" + }, + { + "name": "photo-hdr", + "prompt": "HDR photo of {prompt} . High dynamic range, vivid, rich details, clear shadows and highlights, realistic, intense, enhanced contrast, highly detailed", + "negative_prompt": "flat, low contrast, oversaturated, underexposed, overexposed, blurred, noisy", + "name_cn": "摄影-高动态范围", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_hdr.jpg" + }, + { + "name": "photo-iphone photographic", + "prompt": "iphone photo {prompt} . large depth of field, deep depth of field, highly detailed", + "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly, shallow depth of field, bokeh", + "name_cn": "摄影-苹果手机摄影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_iphone_photographic.jpg" + }, + { + "name": "photo-long exposure", + "prompt": "long exposure photo of {prompt} . Blurred motion, streaks of light, surreal, dreamy, ghosting effect, highly detailed", + "negative_prompt": "static, noisy, deformed, shaky, abrupt, flat, low contrast", + "name_cn": "摄影-长曝光", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_long_exposure.jpg" + }, + { + "name": "photo-neon noir", + "prompt": "neon noir {prompt} . cyberpunk, dark, rainy streets, neon signs, high contrast, low light, vibrant, highly detailed", + "negative_prompt": "bright, sunny, daytime, low contrast, black and white, sketch, watercolor", + "name_cn": "摄影-霓虹黑色", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_neon_noir.jpg" + }, + { + "name": "photo-silhouette", + "prompt": "silhouette style {prompt} . high contrast, minimalistic, black and white, stark, dramatic", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, color, realism, photorealistic", + "name_cn": "摄影-轮廓", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_silhouette.jpg" + }, + { + "name": "photo-tilt-shift", + "prompt": "tilt-shift photo of {prompt} . selective focus, miniature effect, blurred background, highly detailed, vibrant, perspective control", + "negative_prompt": "blurry, noisy, deformed, flat, low contrast, unrealistic, oversaturated, underexposed", + "name_cn": "摄影-移轴", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/photo_tilt_shift.jpg" + }, + { + "name": "cinematic-diva", + "prompt": "UHD, 8K, ultra detailed, a cinematic photograph of {prompt}, beautiful lighting, great composition", + "negative_prompt": "ugly, deformed, noisy, blurry, NSFW", + "name_cn": "电影女主角", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/cinematic_diva.jpg" + }, + { + "name": "Abstract Expressionism", + "prompt": "Abstract Expressionism Art, {prompt}, High contrast, minimalistic, colorful, stark, dramatic, expressionism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic", + "name_cn": "抽象表现主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/abstract_expressionism.jpg" + }, + { + "name": "Academia", + "prompt": "Academia, {prompt}, preppy Ivy League style, stark, dramatic, chic boarding school, academia", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, grunge, sloppy, unkempt", + "name_cn": "学术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/academia.jpg" + }, + { + "name": "Action Figure", + "prompt": "Action Figure, {prompt}, plastic collectable action figure, collectable toy action figure", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "动作人偶", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/action_figure.jpg" + }, + { + "name": "Adorable 3D Character", + "prompt": "Adorable 3D Character, {prompt}, 3D render, adorable character, 3D art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, grunge, sloppy, unkempt, photograph, photo, realistic", + "name_cn": "可爱的3D角色", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/adorable_3d_character.jpg" + }, + { + "name": "Adorable Kawaii", + "prompt": "Adorable Kawaii, {prompt}, pretty, cute, adorable, kawaii", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, gothic, dark, moody, monochromatic", + "name_cn": "可爱的卡哇伊", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/adorable_kawaii.jpg" + }, + { + "name": "Art Deco", + "prompt": "Art Deco, {prompt}, sleek, geometric forms, art deco style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "装饰艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/art_deco.jpg" + }, + { + "name": "Art Nouveau", + "prompt": "Art Nouveau, beautiful art, {prompt}, sleek, organic forms, long, sinuous, art nouveau style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, industrial, mechanical", + "name_cn": "新艺术,美丽艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/art_nouveau.jpg" + }, + { + "name": "Astral Aura", + "prompt": "Astral Aura, {prompt}, astral, colorful aura, vibrant energy", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "星体光环", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/astral_aura.jpg" + }, + { + "name": "Avant-garde", + "prompt": "Avant-garde, {prompt}, unusual, experimental, avant-garde art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "前卫", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/avant_garde.jpg" + }, + { + "name": "Baroque", + "prompt": "Baroque, {prompt}, dramatic, exuberant, grandeur, baroque art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "巴洛克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/baroque.jpg" + }, + { + "name": "Bauhaus-Style Poster", + "prompt": "Bauhaus-Style Poster, {prompt}, simple geometric shapes, clean lines, primary colors, Bauhaus-Style Poster", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "包豪斯风格海报", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/bauhaus_style_poster.jpg" + }, + { + "name": "Blueprint Schematic Drawing", + "prompt": "Blueprint Schematic Drawing, {prompt}, technical drawing, blueprint, schematic", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "蓝图示意图", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/blueprint_schematic_drawing.jpg" + }, + { + "name": "Caricature", + "prompt": "Caricature, {prompt}, exaggerated, comical, caricature", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realistic", + "name_cn": "漫画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/caricature.jpg" + }, + { + "name": "Cel Shaded Art", + "prompt": "Cel Shaded Art, {prompt}, 2D, flat color, toon shading, cel shaded style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "卡通渲染", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/cel_shaded_art.jpg" + }, + { + "name": "Character Design Sheet", + "prompt": "Character Design Sheet, {prompt}, character reference sheet, character turn around", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "角色设计表", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/character_design_sheet.jpg" + }, + { + "name": "Classicism Art", + "prompt": "Classicism Art, {prompt}, inspired by Roman and Greek culture, clarity, harmonious, classicism art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "古典主义艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/classicism_art.jpg" + }, + { + "name": "Color Field Painting", + "prompt": "Color Field Painting, {prompt}, abstract, simple, geometic, color field painting style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "色彩领域绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/color_field_painting.jpg" + }, + { + "name": "Colored Pencil Art", + "prompt": "Colored Pencil Art, {prompt}, colored pencil strokes, light color, visible paper texture, colored pencil art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "彩色铅笔艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/colored_pencil_art.jpg" + }, + { + "name": "Conceptual Art", + "prompt": "Conceptual Art, {prompt}, concept art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "概念艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/conceptual_art.jpg" + }, + { + "name": "Constructivism", + "prompt": "Constructivism Art, {prompt}, minimalistic, geometric forms, constructivism art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "建构主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/constructivism.jpg" + }, + { + "name": "Cubism", + "prompt": "Cubism Art, {prompt}, flat geometric forms, cubism art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "立体主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/cubism.jpg" + }, + { + "name": "Dadaism", + "prompt": "Dadaism Art, {prompt}, satirical, nonsensical, dadaism art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "达达主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/dadaism.jpg" + }, + { + "name": "Dark Fantasy", + "prompt": "Dark Fantasy Art, {prompt}, dark, moody, dark fantasy style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, bright, sunny", + "name_cn": "黑暗奇幻", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/dark_fantasy.jpg" + }, + { + "name": "Dark Moody Atmosphere", + "prompt": "Dark Moody Atmosphere, {prompt}, dramatic, mysterious, dark moody atmosphere", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, vibrant, colorful, bright", + "name_cn": "黑暗忧郁气氛", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/dark_moody_atmosphere.jpg" + }, + { + "name": "DMT Art Style", + "prompt": "DMT Art Style, {prompt}, bright colors, surreal visuals, swirling patterns, DMT art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "迷幻艺术风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/dmt_art_style.jpg" + }, + { + "name": "Doodle Art", + "prompt": "Doodle Art Style, {prompt}, drawing, freeform, swirling patterns, doodle art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "涂鸦艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/doodle_art.jpg" + }, + { + "name": "Double Exposure", + "prompt": "Double Exposure Style, {prompt}, double image ghost effect, image combination, double exposure style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "双重曝光", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/double_exposure.jpg" + }, + { + "name": "Dripping Paint Splatter Art", + "prompt": "Dripping Paint Splatter Art, {prompt}, dramatic, paint drips, splatters, dripping paint", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "滴漆飞溅艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/dripping_paint_splatter_art.jpg" + }, + { + "name": "Expressionism", + "prompt": "Expressionism Art Style, {prompt}, movement, contrast, emotional, exaggerated forms, expressionism art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "表现主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/expressionism.jpg" + }, + { + "name": "Faded Polaroid Photo", + "prompt": "Faded Polaroid Photo, {prompt}, analog, old faded photo, old polaroid", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, vibrant, colorful", + "name_cn": "褪色的宝丽来照片", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/faded_polaroid_photo.jpg" + }, + { + "name": "Fauvism", + "prompt": "Fauvism Art, {prompt}, painterly, bold colors, textured brushwork, fauvism art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "野兽派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fauvism.jpg" + }, + { + "name": "Flat 2D Art", + "prompt": "Flat 2D Art, {prompt}, simple flat color, 2-dimensional, Flat 2D Art Style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, 3D, photo, realistic", + "name_cn": "平面 2D 艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/flat_2d_art.jpg" + }, + { + "name": "Fortnite Art Style", + "prompt": "Fortnite Art Style, {prompt}, 3D cartoon, colorful, Fortnite Art Style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, realistic", + "name_cn": "堡垒之夜艺术风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/fortnite_art_style.jpg" + }, + { + "name": "Futurism", + "prompt": "Futurism Art Style, {prompt}, dynamic, dramatic, Futurism Art Style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "未来派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/futurism.jpg" + }, + { + "name": "Glitchcore", + "prompt": "Glitchcore Art Style, {prompt}, dynamic, dramatic, distorted, vibrant colors, glitchcore art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "故障核心", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/glitchcore.jpg" + }, + { + "name": "Glo-fi", + "prompt": "Glo-fi Art Style, {prompt}, dynamic, dramatic, vibrant colors, glo-fi art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "光明高保真", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/glo_fi.jpg" + }, + { + "name": "Googie Art Style", + "prompt": "Googie Art Style, {prompt}, dynamic, dramatic, 1950's futurism, bold boomerang angles, Googie art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "古吉艺术风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/googie_art_style.jpg" + }, + { + "name": "Graffiti Art", + "prompt": "Graffiti Art Style, {prompt}, dynamic, dramatic, vibrant colors, graffiti art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "涂鸦艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/graffiti_art.jpg" + }, + { + "name": "Harlem Renaissance Art", + "prompt": "Harlem Renaissance Art Style, {prompt}, dynamic, dramatic, 1920s African American culture, Harlem Renaissance art style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "哈莱姆文艺复兴艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/harlem_renaissance_art.jpg" + }, + { + "name": "High Fashion", + "prompt": "High Fashion, {prompt}, dynamic, dramatic, haute couture, elegant, ornate clothing, High Fashion", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "高级时装", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/high_fashion.jpg" + }, + { + "name": "Idyllic", + "prompt": "Idyllic, {prompt}, peaceful, happy, pleasant, happy, harmonious, picturesque, charming", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "田园诗般", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/idyllic.jpg" + }, + { + "name": "Impressionism", + "prompt": "Impressionism, {prompt}, painterly, small brushstrokes, visible brushstrokes, impressionistic style", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "印象派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/impressionism.jpg" + }, + { + "name": "Infographic Drawing", + "prompt": "Infographic Drawing, {prompt}, diagram, infographic", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "信息图表绘图", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/infographic_drawing.jpg" + }, + { + "name": "Ink Dripping Drawing", + "prompt": "Ink Dripping Drawing, {prompt}, ink drawing, dripping ink", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, colorful, vibrant", + "name_cn": "滴墨绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ink_dripping_drawing.jpg" + }, + { + "name": "Japanese Ink Drawing", + "prompt": "Japanese Ink Drawing, {prompt}, ink drawing, inkwash, Japanese Ink Drawing", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, colorful, vibrant", + "name_cn": "日式水墨画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/japanese_ink_drawing.jpg" + }, + { + "name": "Knolling Photography", + "prompt": "Knolling Photography, {prompt}, flat lay photography, object arrangment, knolling photography", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "规律摆放摄影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/knolling_photography.jpg" + }, + { + "name": "Light Cheery Atmosphere", + "prompt": "Light Cheery Atmosphere, {prompt}, happy, joyful, cheerful, carefree, gleeful, lighthearted, pleasant atmosphere", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, monochromatic, dark, moody", + "name_cn": "轻松愉快的气氛", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/light_cheery_atmosphere.jpg" + }, + { + "name": "Logo Design", + "prompt": "Logo Design, {prompt}, dynamic graphic art, vector art, minimalist, professional logo design", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "标志设计", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/logo_design.jpg" + }, + { + "name": "Luxurious Elegance", + "prompt": "Luxurious Elegance, {prompt}, extravagant, ornate, designer, opulent, picturesque, lavish", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "奢华优雅", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/luxurious_elegance.jpg" + }, + { + "name": "Macro Photography", + "prompt": "Macro Photography, {prompt}, close-up, macro 100mm, macro photography", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "微距摄影", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/macro_photography.jpg" + }, + { + "name": "Mandola Art", + "prompt": "Mandola art style, {prompt}, complex, circular design, mandola", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "曼陀罗艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mandola_art.jpg" + }, + { + "name": "Marker Drawing", + "prompt": "Marker Drawing, {prompt}, bold marker lines, visibile paper texture, marker drawing", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photograph, realistic", + "name_cn": "马克笔绘图", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/marker_drawing.jpg" + }, + { + "name": "Medievalism", + "prompt": "Medievalism, {prompt}, inspired by The Middle Ages, medieval art, elaborate patterns and decoration, Medievalism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "中世纪主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/medievalism.jpg" + }, + { + "name": "Minimalism", + "prompt": "Minimalism, {prompt}, abstract, simple geometic shapes, hard edges, sleek contours, Minimalism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "极简主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/minimalism.jpg" + }, + { + "name": "Neo-Baroque", + "prompt": "Neo-Baroque, {prompt}, ornate and elaborate, dynaimc, Neo-Baroque", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "新巴洛克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/neo_baroque.jpg" + }, + { + "name": "Neo-Byzantine", + "prompt": "Neo-Byzantine, {prompt}, grand decorative religious style, Orthodox Christian inspired, Neo-Byzantine", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "新拜占庭", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/neo_byzantine.jpg" + }, + { + "name": "Neo-Futurism", + "prompt": "Neo-Futurism, {prompt}, high-tech, curves, spirals, flowing lines, idealistic future, Neo-Futurism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "新未来派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/neo_futurism.jpg" + }, + { + "name": "Neo-Impressionism", + "prompt": "Neo-Impressionism, {prompt}, tiny dabs of color, Pointillism, painterly, Neo-Impressionism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photograph, realistic", + "name_cn": "新印象派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/neo_impressionism.jpg" + }, + { + "name": "Neo-Rococo", + "prompt": "Neo-Rococo, {prompt}, curved forms, naturalistic ornamentation, elaborate, decorative, gaudy, Neo-Rococo", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "新洛可可", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/neo_rococo.jpg" + }, + { + "name": "Neoclassicism", + "prompt": "Neoclassicism, {prompt}, ancient Rome and Greece inspired, idealic, sober colors, Neoclassicism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "新古典主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/neoclassicism.jpg" + }, + { + "name": "Op Art", + "prompt": "Op Art, {prompt}, optical illusion, abstract, geometric pattern, impression of movement, Op Art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "欧普艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/op_art.jpg" + }, + { + "name": "Ornate and Intricate", + "prompt": "Ornate and Intricate, {prompt}, decorative, highly detailed, elaborate, ornate, intricate", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "华丽而复杂", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/ornate_and_intricate.jpg" + }, + { + "name": "Pencil Sketch Drawing", + "prompt": "Pencil Sketch Drawing, {prompt}, black and white drawing, graphite drawing", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "铅笔素描", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/pencil_sketch_drawing.jpg" + }, + { + "name": "Pop Art 2", + "prompt": "Pop Art, {prompt}, vivid colors, flat color, 2D, strong lines, Pop Art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, realistic", + "name_cn": "流行艺术2", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/pop_art_2.jpg" + }, + { + "name": "Rococo", + "prompt": "Rococo, {prompt}, flamboyant, pastel colors, curved lines, elaborate detail, Rococo", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "洛可可", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/rococo.jpg" + }, + { + "name": "Silhouette Art", + "prompt": "Silhouette Art, {prompt}, high contrast, well defined, Silhouette Art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "剪影艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/silhouette_art.jpg" + }, + { + "name": "Simple Vector Art", + "prompt": "Simple Vector Art, {prompt}, 2D flat, simple shapes, minimalistic, professional graphic, flat color, high contrast, Simple Vector Art", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, 3D, photo, realistic", + "name_cn": "简单矢量艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/simple_vector_art.jpg" + }, + { + "name": "Sketchup", + "prompt": "Sketchup, {prompt}, CAD, professional design, Sketchup", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, photograph", + "name_cn": "草图", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sketchup.jpg" + }, + { + "name": "Steampunk 2", + "prompt": "Steampunk, {prompt}, retrofuturistic science fantasy, steam-powered tech, vintage industry, gears, neo-victorian, steampunk", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "赛博朋克2", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/steampunk_2.jpg" + }, + { + "name": "Surrealism", + "prompt": "Surrealism, {prompt}, expressive, dramatic, organic lines and forms, dreamlike and mysterious, Surrealism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realistic", + "name_cn": "超现实主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/surrealism.jpg" + }, + { + "name": "Suprematism", + "prompt": "Suprematism, {prompt}, abstract, limited color palette, geometric forms, Suprematism", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realistic", + "name_cn": "至上主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/suprematism.jpg" + }, + { + "name": "Terragen", + "prompt": "Terragen, {prompt}, beautiful massive landscape, epic scenery, Terragen", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "地表风景", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/terragen.jpg" + }, + { + "name": "Tranquil Relaxing Atmosphere", + "prompt": "Tranquil Relaxing Atmosphere, {prompt}, calming style, soothing colors, peaceful, idealic, Tranquil Relaxing Atmosphere", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, oversaturated", + "name_cn": "宁静轻松的氛围", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/tranquil_relaxing_atmosphere.jpg" + }, + { + "name": "Sticker Designs", + "prompt": "Vector Art Stickers, {prompt}, professional vector design, sticker designs, Sticker Sheet", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "贴纸设计", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/sticker_designs.jpg" + }, + { + "name": "Vibrant Rim Light", + "prompt": "Vibrant Rim Light, {prompt}, bright rim light, high contrast, bold edge light", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "生动的边缘光", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/vibrant_rim_light.jpg" + }, + { + "name": "Volumetric Lighting", + "prompt": "Volumetric Lighting, {prompt}, light depth, dramatic atmospheric lighting, Volumetric Lighting", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast", + "name_cn": "体积照明", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/volumetric_lighting.jpg" + }, + { + "name": "Watercolor 2", + "prompt": "Watercolor style painting, {prompt}, visible paper texture, colorwash, watercolor", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, photo, realistic", + "name_cn": "水彩2", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/watercolor_2.jpg" + }, + { + "name": "Whimsical and Playful", + "prompt": "Whimsical and Playful, {prompt}, imaginative, fantastical, bight colors, stylized, happy, Whimsical and Playful", + "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, drab, boring, moody", + "name_cn": "异想天开、俏皮", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/whimsical_and_playful.jpg" + }, + { + "name": "MK Chromolithography", + "prompt": "Chromolithograph {prompt}. Vibrant colors, intricate details, rich color saturation, meticulous registration, multi-layered printing, decorative elements, historical charm, artistic reproductions, commercial posters, nostalgic, ornate compositions.", + "negative_prompt": "monochromatic, simple designs, limited color palette, imprecise registration, minimalistic, modern aesthetic, digital appearance.", + "name_cn": "MK 色彩版画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_chromolithography.jpg" + }, + { + "name": "MK Cross Processing Print", + "prompt": "Cross processing print {prompt}. Experimental color shifts, unconventional tonalities, vibrant and surreal hues, heightened contrasts, unpredictable results, artistic unpredictability, retro and vintage feel, dynamic color interplay, abstract and dreamlike.", + "negative_prompt": "predictable color tones, traditional processing, realistic color representation, subdued contrasts, standard photographic aesthetics.", + "name_cn": "MK 交叉过程打印", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_cross_processing_print.jpg" + }, + { + "name": "MK Dufaycolor Photograph", + "prompt": "Dufaycolor photograph {prompt}. Vintage color palette, distinctive color rendering, soft and dreamy atmosphere, historical charm, unique color process, grainy texture, evocative mood, nostalgic aesthetic, hand-tinted appearance, artistic patina.", + "negative_prompt": "modern color reproduction, hyperrealistic tones, sharp and clear details, digital precision, contemporary aesthetic.", + "name_cn": "MK 杜法色彩照片", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_dufaycolor_photograph.jpg" + }, + { + "name": "MK Herbarium", + "prompt": "Herbarium drawing{prompt}. Botanical accuracy, old botanical book illustration, detailed illustrations, pressed plants, delicate and precise linework, scientific documentation, meticulous presentation, educational purpose, organic compositions, timeless aesthetic, naturalistic beauty.", + "negative_prompt": "abstract representation, vibrant colors, artistic interpretation, chaotic compositions, fantastical elements, digital appearance.", + "name_cn": "MK 植物标本馆", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_herbarium.jpg" + }, + { + "name": "MK Punk Collage", + "prompt": "punk collage style {prompt} . mixed media, papercut,textured paper, overlapping, ripped posters, safety pins, chaotic layers, graffiti-style elements, anarchy symbols, vintage photos, cut-and-paste aesthetic, bold typography, distorted images, political messages, urban decay, distressed textures, newspaper clippings, spray paint, rebellious icons, DIY spirit, vivid colors, punk band logos, edgy and raw compositions, ", + "negative_prompt": "conventional,blurry, noisy, low contrast", + "name_cn": "MK 朋克拼贴画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_punk_collage.jpg" + }, + { + "name": "MK mosaic", + "prompt": "mosaic style {prompt} . fragmented, assembled, colorful, highly detailed", + "negative_prompt": "whole, unbroken, monochrome", + "name_cn": "MK 镶嵌图", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_mosaic.jpg" + }, + { + "name": "MK Van Gogh", + "prompt": "Oil painting by Van Gogh {prompt} . Expressive, impasto, swirling brushwork, vibrant, brush strokes, Brushstroke-heavy, Textured, Impasto, Colorful, Dynamic, Bold, Distinctive, Vibrant, Whirling, Expressive, Dramatic, Swirling, Layered, Intense, Contrastive, Atmospheric, Luminous, Textural, Evocative, SpiraledVan Gogh style", + "negative_prompt": "realistic, photorealistic, calm, straight lines, signature, frame, text, watermark", + "name_cn": "MK 梵高", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_van_gogh.jpg" + }, + { + "name": "MK Coloring Book", + "prompt": "centered black and white high contrast line drawing, coloring book style,{prompt} . monochrome, blank white background", + "negative_prompt": "greyscale, gradients,shadows,shadow, colored, Red, Blue, Yellow, Green, Orange, Purple, Pink, Brown, Gray, Beige, Turquoise, Lavender, Cyan, Magenta, Olive, Indigo, black background", + "name_cn": "MK 色彩书", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_coloring_book.jpg" + }, + { + "name": "MK Singer Sargent", + "prompt": "Oil painting by John Singer Sargent {prompt}. Elegant, refined, masterful technique,realistic portrayal, subtle play of light, captivating expression, rich details, harmonious colors, skillful composition, brush strokes, chiaroscuro.", + "negative_prompt": "realistic, photorealistic, abstract, overly stylized, excessive contrasts, distorted,bright colors,disorder.", + "name_cn": "MK 辛格 · 萨尔生特", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_singer_sargent.jpg" + }, + { + "name": "MK Pollock", + "prompt": "Oil painting by Jackson Pollock {prompt}. Abstract expressionism, drip painting, chaotic composition, energetic, spontaneous, unconventional technique, dynamic, bold, distinctive, vibrant, intense, expressive, energetic, layered, non-representational, gestural.", + "negative_prompt": "(realistic:1.5), (photorealistic:1.5), representational, calm, ordered composition, precise lines, detailed forms, subdued colors, quiet, static, traditional, figurative.", + "name_cn": "MK 波洛克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_pollock.jpg" + }, + { + "name": "MK Basquiat", + "prompt": "Artwork by Jean-Michel Basquiat {prompt}. Neo-expressionism, street art influence, graffiti-inspired, raw, energetic, bold colors, dynamic composition, chaotic, layered, textural, expressive, spontaneous, distinctive, symbolic,energetic brushstrokes.", + "negative_prompt": "(realistic:1.5), (photorealistic:1.5), calm, precise lines, conventional composition, subdued", + "name_cn": "MK 巴斯奎特", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_basquiat.jpg" + }, + { + "name": "MK Andy Warhol", + "prompt": "Artwork in the style of Andy Warhol {prompt}. Pop art, vibrant colors, bold compositions, repetition of iconic imagery, celebrity culture, commercial aesthetics, mass production influence, stylized simplicity, cultural commentary, graphical elements, distinctive portraits.", + "negative_prompt": "subdued colors, realistic, lack of repetition, minimalistic.", + "name_cn": "MK 安迪 · 沃霍尔", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_andy_warhol.jpg" + }, + { + "name": "MK Halftone print", + "prompt": "Halftone print of {prompt}. Dot matrix pattern, grayscale tones, vintage aesthetic, newspaper print vibe, stylized dots, visual texture, black and white contrasts, retro appearance, artistic pointillism,pop culture, (Roy Lichtenstein style:1.5).", + "negative_prompt": "smooth gradients, continuous tones, vibrant colors.", + "name_cn": "MK 半色版画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_halftone_print.jpg" + }, + { + "name": "MK Gond Painting", + "prompt": "Gond painting {prompt}. Intricate patterns, vibrant colors, detailed motifs, nature-inspired themes, tribal folklore, fine lines, intricate detailing, storytelling compositions, mystical and folkloric, cultural richness.", + "negative_prompt": "monochromatic, abstract shapes, minimalistic.", + "name_cn": "MK 贡德绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_gond_painting.jpg" + }, + { + "name": "MK Albumen Print", + "prompt": "Albumen print {prompt}. Sepia tones, fine details, subtle tonal gradations, delicate highlights, vintage aesthetic, soft and muted atmosphere, historical charm, rich textures, meticulous craftsmanship, classic photographic technique, vignetting.", + "negative_prompt": "vibrant colors, high contrast, modern, digital appearance, sharp details, contemporary style.", + "name_cn": "MK 白蛋清印刷", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_albumen_print.jpg" + }, + { + "name": "MK Aquatint Print", + "prompt": "Aquatint print {prompt}. Soft tonal gradations, atmospheric effects, velvety textures, rich contrasts, fine details, etching process, delicate lines, nuanced shading, expressive and moody atmosphere, artistic depth.", + "negative_prompt": "sharp contrasts, bold lines, minimalistic.", + "name_cn": "MK 水蚀刻印刷", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_aquatint_print.jpg" + }, + { + "name": "MK Anthotype Print", + "prompt": "Anthotype print {prompt}. Monochrome dye, soft and muted colors, organic textures, ephemeral and delicate appearance, low details, watercolor canvas, low contrast, overexposed, silhouette, textured paper.", + "negative_prompt": "vibrant synthetic dyes, bold and saturated colors.", + "name_cn": "MK 花纹版画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_anthotype_print.jpg" + }, + { + "name": "MK Inuit Carving", + "prompt": "A sculpture made of ivory, {prompt} made of . Sculptures, Inuit art style, intricate carvings, natural materials, storytelling motifs, arctic wildlife themes, symbolic representations, cultural traditions, earthy tones, harmonious compositions, spiritual and mythological elements.", + "negative_prompt": "abstract, vibrant colors.", + "name_cn": "MK 因纽特雕塑", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_inuit_carving.jpg" + }, + { + "name": "MK Bromoil Print", + "prompt": "Bromoil print {prompt}. Painterly effects, sepia tones, textured surfaces, rich contrasts, expressive brushwork, tonal variations, vintage aesthetic, atmospheric mood, handmade quality, artistic experimentation, darkroom craftsmanship, vignetting.", + "negative_prompt": "smooth surfaces, minimal brushwork, contemporary digital appearance.", + "name_cn": "MK 溴油印刷", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_bromoil_print.jpg" + }, + { + "name": "MK Calotype Print", + "prompt": "Calotype print {prompt}. Soft focus, subtle tonal range, paper negative process, fine details, vintage aesthetic, artistic experimentation, atmospheric mood, early photographic charm, handmade quality, vignetting.", + "negative_prompt": "sharp focus, bold contrasts, modern aesthetic, digital photography.", + "name_cn": "MK 卡洛雅图印刷", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_calotype_print.jpg" + }, + { + "name": "MK Color Sketchnote", + "prompt": "Color sketchnote {prompt}. Hand-drawn elements, vibrant colors, visual hierarchy, playful illustrations, varied typography, graphic icons, organic and dynamic layout, personalized touches, creative expression, engaging storytelling.", + "negative_prompt": "monochromatic, geometric layout.", + "name_cn": "MK色彩素描笔记", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_color_sketchnote.jpg" + }, + { + "name": "MK Cibulak Porcelain", + "prompt": "A sculpture made of blue pattern porcelain of {prompt}. Classic design, blue and white color scheme, intricate detailing, floral motifs, onion-shaped elements, historical charm, rococo, white ware, cobalt blue, underglaze pattern, fine craftsmanship, traditional elegance, delicate patterns, vintage aesthetic, Meissen, Blue Onion pattern, Cibulak.", + "negative_prompt": "tea, teapot, cup, teacup,bright colors, bold and modern design, absence of intricate detailing, lack of floral motifs, non-traditional shapes.", + "name_cn": "MK 西布拉瓷器", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_cibulak_porcelain.jpg" + }, + { + "name": "MK Alcohol Ink Art", + "prompt": "Alcohol ink art {prompt}. Fluid and vibrant colors, unpredictable patterns, organic textures, translucent layers, abstract compositions, ethereal and dreamy effects, free-flowing movement, expressive brushstrokes, contemporary aesthetic, wet textured paper.", + "negative_prompt": "monochromatic, controlled patterns.", + "name_cn": "MK 酒精水彩艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_alcohol_ink_art.jpg" + }, + { + "name": "MK One Line Art", + "prompt": "One line art {prompt}. Continuous and unbroken black line, minimalistic, simplicity, economical use of space, flowing and dynamic, symbolic representations, contemporary aesthetic, evocative and abstract, white background.", + "negative_prompt": "disjointed lines, complexity, complex detailing.", + "name_cn": "MK 一线画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_one_line_art.jpg" + }, + { + "name": "MK Blacklight Paint", + "prompt": "Blacklight paint {prompt}. Fluorescent pigments, vibrant and surreal colors, ethereal glow, otherworldly effects, dynamic and psychedelic compositions, neon aesthetics, transformative in ultraviolet light, contemporary and experimental.", + "negative_prompt": "muted colors, traditional and realistic compositions.", + "name_cn": "MK 黑光油漆", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_blacklight_paint.jpg" + }, + { + "name": "MK Carnival Glass", + "prompt": "A sculpture made of Carnival glass, {prompt}. Iridescent surfaces, vibrant colors, intricate patterns, opalescent hues, reflective and prismatic effects, Art Nouveau and Art Deco influences, vintage charm, intricate detailing, lustrous and luminous appearance, Carnival Glass style.", + "negative_prompt": "non-iridescent surfaces, muted colors, absence of intricate patterns, lack of opalescent hues, modern and minimalist aesthetic.", + "name_cn": "MK 嘉年华玻璃", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_carnival_glass.jpg" + }, + { + "name": "MK Cyanotype Print", + "prompt": "Cyanotype print {prompt}. Prussian blue tones, distinctive coloration, high contrast, blueprint aesthetics, atmospheric mood, sun-exposed paper, silhouette effects, delicate details, historical charm, handmade and experimental quality.", + "negative_prompt": "vibrant colors, low contrast, modern and polished appearance.", + "name_cn": "MK 青色版画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_cyanotype_print.jpg" + }, + { + "name": "MK Cross-Stitching", + "prompt": "Cross-stitching {prompt}. Intricate patterns, embroidery thread, sewing, fine details, precise stitches, textile artistry, symmetrical designs, varied color palette, traditional and contemporary motifs, handmade and crafted,canvas, nostalgic charm.", + "negative_prompt": "paper, paint, ink, photography.", + "name_cn": "MK 交叉针织", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_cross_stitching.jpg" + }, + { + "name": "MK Encaustic Paint", + "prompt": "Encaustic paint {prompt}. Textured surfaces, translucent layers, luminous quality, wax medium, rich color saturation, fluid and organic shapes, contemporary and historical influences, mixed media elements, atmospheric depth.", + "negative_prompt": "flat surfaces, opaque layers, lack of wax medium, muted color palette, absence of textured surfaces, non-mixed media.", + "name_cn": "MK 蜡漆", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_encaustic_paint.jpg" + }, + { + "name": "MK Embroidery", + "prompt": "Embroidery {prompt}. Intricate stitching, embroidery thread, fine details, varied thread textures, textile artistry, embellished surfaces, diverse color palette, traditional and contemporary motifs, handmade and crafted, tactile and ornate.", + "negative_prompt": "minimalist, monochromatic.", + "name_cn": "MK 刺绣", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_embroidery.jpg" + }, + { + "name": "MK Gyotaku", + "prompt": "Gyotaku {prompt}. Fish impressions, realistic details, ink rubbings, textured surfaces, traditional Japanese art form, nature-inspired compositions, artistic representation of marine life, black and white contrasts, cultural significance.", + "negative_prompt": "photography.", + "name_cn": "MK 鱼拓版画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_gyotaku.jpg" + }, + { + "name": "MK Luminogram", + "prompt": "Luminogram {prompt}. Photogram technique, ethereal and abstract effects, light and shadow interplay, luminous quality, experimental process, direct light exposure, unique and unpredictable results, artistic experimentation.", + "negative_prompt": "", + "name_cn": "MK 光感影像", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_luminogram.jpg" + }, + { + "name": "MK Lite Brite Art", + "prompt": "Lite Brite art {prompt}. Luminous and colorful designs, pixelated compositions, retro aesthetic, glowing effects, creative patterns, interactive and playful, nostalgic charm, vibrant and dynamic arrangements.", + "negative_prompt": "monochromatic.", + "name_cn": "MK 彩色灯泡艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_lite_brite_art.jpg" + }, + { + "name": "MK Mokume-gane", + "prompt": "Mokume-gane {prompt}. Wood-grain patterns, mixed metal layers, intricate and organic designs, traditional Japanese metalwork, harmonious color combinations, artisanal craftsmanship, unique and layered textures, cultural and historical significance.", + "negative_prompt": "uniform metal surfaces.", + "name_cn": "MK 木金工艺", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_mokume_gane.jpg" + }, + { + "name": "Pebble Art", + "prompt": "a sculpture made of peebles, {prompt}. Pebble art style,natural materials, textured surfaces, balanced compositions, organic forms, harmonious arrangements, tactile and 3D effects, beach-inspired aesthetic, creative storytelling, artisanal craftsmanship.", + "negative_prompt": "non-natural materials, lack of textured surfaces, imbalanced compositions, absence of organic forms, non-tactile appearance.", + "name_cn": "MK 鹅卵石艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/pebble_art.jpg" + }, + { + "name": "MK Palekh", + "prompt": "Palekh art {prompt}. Miniature paintings, intricate details, vivid colors, folkloric themes, lacquer finish, storytelling compositions, symbolic elements, Russian folklore influence, cultural and historical significance.", + "negative_prompt": "large-scale paintings.", + "name_cn": "MK 帕列赫", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_palekh.jpg" + }, + { + "name": "MK Suminagashi", + "prompt": "Suminagashi {prompt}. Floating ink patterns, marbled effects, delicate and ethereal designs, water-based ink, fluid and unpredictable compositions, meditative process, monochromatic or subtle color palette, Japanese artistic tradition.", + "negative_prompt": "vibrant and bold color palette.", + "name_cn": "MK 澄洗画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_suminagashi.jpg" + }, + { + "name": "MK Scrimshaw", + "prompt": "A Scrimshaw engraving of {prompt}. Intricate engravings on a spermwhale's teeth, marine motifs, detailed scenes, nautical themes, black and white contrasts, historical craftsmanship, artisanal carving, storytelling compositions, maritime heritage.", + "negative_prompt": "colorful, modern.", + "name_cn": "MK 丝线绣", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_scrimshaw.jpg" + }, + { + "name": "MK Shibori", + "prompt": "Shibori {prompt}. Textured fabric, intricate patterns, resist-dyeing technique, indigo or vibrant colors, organic and flowing designs, Japanese textile art, cultural tradition, tactile and visual interest.", + "negative_prompt": "monochromatic.", + "name_cn": "MK 湿布雕版印刷", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_shibori.jpg" + }, + { + "name": "MK Vitreous Enamel", + "prompt": "A sculpture made of Vitreous enamel {prompt}. Smooth and glossy surfaces, vibrant colors, glass-like finish, durable and resilient, intricate detailing, traditional and contemporary applications, artistic craftsmanship, jewelry and decorative objects, , Vitreous enamel, colored glass.", + "negative_prompt": "rough surfaces, muted colors.", + "name_cn": "MK 玻璃珐琅", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_vitreous_enamel.jpg" + }, + { + "name": "MK Ukiyo-e", + "prompt": "Ukiyo-e {prompt}. Woodblock prints, vibrant colors, intricate details, depictions of landscapes, kabuki actors, beautiful women, cultural scenes, traditional Japanese art, artistic craftsmanship, historical significance.", + "negative_prompt": "absence of woodblock prints, muted colors, lack of intricate details, non-traditional Japanese themes, absence of cultural scenes.", + "name_cn": "MK 浮世绘", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_ukiyo_e.jpg" + }, + { + "name": "MK vintage-airline-poster", + "prompt": "vintage airline poster {prompt} . classic aviation fonts, pastel colors, elegant aircraft illustrations, scenic destinations, distressed textures, retro travel allure", + "negative_prompt": "modern fonts, bold colors, hyper-realistic, sleek design", + "name_cn": "MK 古董航空公司海报", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_vintage_airline_poster.jpg" + }, + { + "name": "MK vintage-travel-poster", + "prompt": "vintage travel poster {prompt} . retro fonts, muted colors, scenic illustrations, iconic landmarks, distressed textures, nostalgic vibes", + "negative_prompt": "modern fonts, vibrant colors, hyper-realistic, sleek design", + "name_cn": "MK 古董旅行海报", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_vintage_travel_poster.jpg" + }, + { + "name": "MK bauhaus-style", + "prompt": "Bauhaus-inspired {prompt} . minimalism, geometric precision, primary colors, sans-serif typography, asymmetry, functional design", + "negative_prompt": "ornate, intricate, excessive detail, complex patterns, serif typography", + "name_cn": "Mk 包豪斯风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_bauhaus_style.jpg" + }, + { + "name": "MK afrofuturism", + "prompt": "Afrofuturism illustration {prompt} . vibrant colors, futuristic elements, cultural symbolism, cosmic imagery, dynamic patterns, empowering narratives", + "negative_prompt": "monochromatic", + "name_cn": "Mk 非洲未来主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_afrofuturism.jpg" + }, + { + "name": "MK atompunk", + "prompt": "Atompunk illustation, {prompt} . retro-futuristic, atomic age aesthetics, sleek lines, metallic textures, futuristic technology, optimism, energy", + "negative_prompt": "organic, natural textures, rustic, dystopian", + "name_cn": "Mk 原子朋克", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_atompunk.jpg" + }, + { + "name": "MK constructivism", + "prompt": "Constructivism {prompt} . geometric abstraction, bold colors, industrial aesthetics, dynamic compositions, utilitarian design, revolutionary spirit", + "negative_prompt": "organic shapes, muted colors, ornate elements, traditional", + "name_cn": "Mk 构成派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_constructivism.jpg" + }, + { + "name": "MK chicano-art", + "prompt": "Chicano art {prompt} . bold colors, cultural symbolism, muralism, lowrider aesthetics, barrio life, political messages, social activism, Mexico", + "negative_prompt": "monochromatic, minimalist, mainstream aesthetics", + "name_cn": "Mk 西班牙裔美国艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_chicano_art.jpg" + }, + { + "name": "MK de-stijl", + "prompt": "De Stijl Art {prompt} . neoplasticism, primary colors, geometric abstraction, horizontal and vertical lines, simplicity, harmony, utopian ideals", + "negative_prompt": "complex patterns, muted colors, ornate elements, asymmetry", + "name_cn": "Mk 去风格派", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_de_stijl.jpg" + }, + { + "name": "MK dayak-art", + "prompt": "Dayak art sculpture of {prompt} . intricate patterns, nature-inspired motifs, vibrant colors, traditional craftsmanship, cultural symbolism, storytelling", + "negative_prompt": "minimalist, monochromatic, modern", + "name_cn": "Mk 达雅克艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_dayak_art.jpg" + }, + { + "name": "MK fayum-portrait", + "prompt": "Fayum portrait {prompt} . encaustic painting, realistic facial features, warm earth tones, serene expressions, ancient Egyptian influences", + "negative_prompt": "abstract, vibrant colors, exaggerated features, modern", + "name_cn": "Mk 法尤姆肖像画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_fayum_portrait.jpg" + }, + { + "name": "MK illuminated-manuscript", + "prompt": "Illuminated manuscript {prompt} . intricate calligraphy, rich colors, detailed illustrations, gold leaf accents, ornate borders, religious, historical, medieval", + "negative_prompt": "modern typography, minimalist design, monochromatic, abstract themes", + "name_cn": "Mk 彩绘手稿", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_illuminated_manuscript.jpg" + }, + { + "name": "MK kalighat-painting", + "prompt": "Kalighat painting {prompt} . bold lines, vibrant colors, narrative storytelling, cultural motifs, flat compositions, expressive characters", + "negative_prompt": "subdued colors, intricate details, realistic portrayal, modern aesthetics", + "name_cn": "Mk 卡利加特绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_kalighat_painting.jpg" + }, + { + "name": "MK madhubani-painting", + "prompt": "Madhubani painting {prompt} . intricate patterns, vibrant colors, nature-inspired motifs, cultural storytelling, symmetry, folk art aesthetics", + "negative_prompt": "abstract, muted colors, minimalistic design, modern aesthetics", + "name_cn": "Mk 马杜班尼绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_madhubani_painting.jpg" + }, + { + "name": "MK pictorialism", + "prompt": "Pictorialism illustration{prompt} . soft focus, atmospheric effects, artistic interpretation, tonality, muted colors, evocative storytelling", + "negative_prompt": "sharp focus, high contrast, realistic depiction, vivid colors", + "name_cn": "Mk 描绘主义", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_pictorialism.jpg" + }, + { + "name": "MK pichwai-painting", + "prompt": "Pichwai painting {prompt} . intricate detailing, vibrant colors, religious themes, nature motifs, devotional storytelling, gold leaf accents", + "negative_prompt": "minimalist, subdued colors, abstract design", + "name_cn": "Mk 皮奇瓦伊绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_pichwai_painting.jpg" + }, + { + "name": "MK patachitra-painting", + "prompt": "Patachitra painting {prompt} . bold outlines, vibrant colors, intricate detailing, mythological themes, storytelling, traditional craftsmanship", + "negative_prompt": "subdued colors, minimalistic, abstract, modern aesthetics", + "name_cn": "Mk 帕塔基特拉绘画", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_patachitra_painting.jpg" + }, + { + "name": "MK samoan-art-inspired", + "prompt": "Samoan art-inspired wooden sculpture {prompt} . traditional motifs, natural elements, bold colors, cultural symbolism, storytelling, craftsmanship", + "negative_prompt": "modern aesthetics, minimalist, abstract", + "name_cn": "Mk 萨莫亚艺术启发的", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_samoan_art_inspired.jpg" + }, + { + "name": "MK tlingit-art", + "prompt": "Tlingit art {prompt} . formline design, natural elements, animal motifs, bold colors, cultural storytelling, traditional craftsmanship, Alaska traditional art, (totem:1.5)", + "negative_prompt": "", + "name_cn": "Mk 特林吉特艺术", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_tlingit_art.jpg" + }, + { + "name": "MK adnate-style", + "prompt": "Painting by Adnate {prompt} . realistic portraits, street art, large-scale murals, subdued color palette, social narratives", + "negative_prompt": "abstract, vibrant colors, small-scale art", + "name_cn": "Mk 阿达内特风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_adnate_style.jpg" + }, + { + "name": "MK ron-english-style", + "prompt": "Painting by Ron English {prompt} . pop-surrealism, cultural subversion, iconic mash-ups, vibrant and bold colors, satirical commentary", + "negative_prompt": "traditional, monochromatic", + "name_cn": "Mk 罗恩英国风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_ron_english_style.jpg" + }, + { + "name": "MK shepard-fairey-style", + "prompt": "Painting by Shepard Fairey {prompt} . street art, political activism, iconic stencils, bold typography, high contrast, red, black, and white color palette", + "negative_prompt": "traditional, muted colors", + "name_cn": "Mk 舒帕德 · 费尔利风格", + "thumbnail": "https://raw.githubusercontent.com/lllyasviel/Fooocus/main/sdxl_styles/samples/mk_shepard_fairey_style.jpg" + } ] \ No newline at end of file diff --git a/resources/fooocus_styles_cn.json b/resources/fooocus_styles_cn.json deleted file mode 100644 index 2055427..0000000 --- a/resources/fooocus_styles_cn.json +++ /dev/null @@ -1,279 +0,0 @@ -{ - "Fooocus V2": "Fooocus V2扩展词", - "Default (Slightly Cinematic)": "默认(轻微的电影感)", - "Fooocus Enhance": "Fooocus-优化增强", - "Fooocus Cinematic": "Fooocus-电影感", - "Fooocus Sharp": "Fooocus-锐化", - "Fooocus Masterpiece": "Fooocus-杰作", - "Fooocus Photograph": "Fooocus-照片", - "Fooocus Negative": "Fooocus-反向提示词", - "SAI 3D Model": "SAI-3D模型", - "SAI Analog Film": "SAI-模拟电影", - "SAI Anime": "SAI-动漫", - "SAI Cinematic": "SAI-电影片段", - "SAI Comic Book": "SAI-漫画", - "SAI Craft Clay": "SAI-工艺粘土", - "SAI Digital Art": "SAI-数字艺术", - "SAI Enhance": "SAI-增强", - "SAI Fantasy Art": "SAI-奇幻艺术", - "SAI Isometric": "SAI-等距风格", - "SAI Line Art": "SAI-线条艺术", - "SAI Lowpoly": "SAI-低多边形", - "SAI Neonpunk": "SAI-霓虹朋克", - "SAI Origami": "SAI-折纸", - "SAI Photographic": "SAI-摄影", - "SAI Pixel Art": "SAI-像素艺术", - "SAI Texture": "SAI-纹理", - "MRE Cinematic Dynamic": "MRE-史诗电影", - "MRE Spontaneous Picture": "MRE-自然的抓拍照片", - "MRE Artistic Vision": "MRE-艺术视觉", - "MRE Dark Dream": "MRE-黑暗梦境", - "MRE Gloomy Art": "MRE-阴郁艺术", - "MRE Bad Dream": "MRE-噩梦", - "MRE Underground": "MRE-阴森地下", - "MRE Surreal Painting": "MRE-超现实主义绘画", - "MRE Dynamic Illustration": "MRE-动态插画", - "MRE Undead Art": "MRE-遗忘艺术家作品", - "MRE Elemental Art": "MRE-元素艺术", - "MRE Space Art": "MRE-空间艺术", - "MRE Ancient Illustration": "MRE-古代插图", - "MRE Brave Art": "MRE-勇敢艺术", - "MRE Heroic Fantasy": "MRE-英雄幻想", - "MRE Dark Cyberpunk": "MRE-黑暗赛博朋克", - "MRE Lyrical Geometry": "MRE-抒情几何抽象画", - "MRE Sumi E Symbolic": "MRE-墨绘长笔画", - "MRE Sumi E Detailed": "MRE-精细墨绘画", - "MRE Manga": "MRE-日本漫画", - "MRE Anime": "MRE-日本动画片", - "MRE Comic": "MRE-成人漫画书插画", - "Ads Advertising": "广告-广告", - "Ads Automotive": "广告-汽车", - "Ads Corporate": "广告-企业品牌", - "Ads Fashion Editorial": "广告-时尚编辑", - "Ads Food Photography": "广告-食品摄影", - "Ads Gourmet Food Photography": "广告-顶级美食摄影", - "Ads Luxury": "广告-奢侈品", - "Ads Real Estate": "广告-房地产", - "Ads Retail": "广告-零售", - "Artstyle Abstract": "艺术风格-抽象", - "Artstyle Abstract Expressionism": "艺术风格-抽象表现主义", - "Artstyle Art Deco": "艺术风格-装饰艺术", - "Artstyle Art Nouveau": "艺术风格-新艺术", - "Artstyle Constructivist": "艺术风格-构造主义", - "Artstyle Cubist": "艺术风格-立体主义", - "Artstyle Expressionist": "艺术风格-表现主义", - "Artstyle Graffiti": "艺术风格-涂鸦", - "Artstyle Hyperrealism": "艺术风格-超写实主义", - "Artstyle Impressionist": "艺术风格-印象派", - "Artstyle Pointillism": "艺术风格-点彩派", - "Artstyle Pop Art": "艺术风格-波普艺术", - "Artstyle Psychedelic": "艺术风格-迷幻", - "Artstyle Renaissance": "艺术风格-文艺复兴", - "Artstyle Steampunk": "艺术风格-蒸汽朋克", - "Artstyle Surrealist": "艺术风格-超现实主义", - "Artstyle Typography": "艺术风格-字体设计", - "Artstyle Watercolor": "艺术风格-水彩", - "Futuristic Biomechanical": "未来主义-生物机械", - "Futuristic Biomechanical Cyberpunk": "未来主义-生物机械-赛博朋克", - "Futuristic Cybernetic": "未来主义-人机融合", - "Futuristic Cybernetic Robot": "未来主义-人机融合-机器人", - "Futuristic Cyberpunk Cityscape": "未来主义-赛博朋克城市", - "Futuristic Futuristic": "未来主义-未来主义", - "Futuristic Retro Cyberpunk": "未来主义-复古赛博朋克", - "Futuristic Retro Futurism": "未来主义-复古未来主义", - "Futuristic Sci Fi": "未来主义-科幻", - "Futuristic Vaporwave": "未来主义-蒸汽波", - "Game Bubble Bobble": "游戏-泡泡龙", - "Game Cyberpunk Game": "游戏-赛博朋克游戏", - "Game Fighting Game": "游戏-格斗游戏", - "Game Gta": "游戏-侠盗猎车手", - "Game Mario": "游戏-马里奥", - "Game Minecraft": "游戏-我的世界", - "Game Pokemon": "游戏-宝可梦", - "Game Retro Arcade": "游戏-复古街机", - "Game Retro Game": "游戏-复古游戏", - "Game Rpg Fantasy Game": "游戏-角色扮演幻想游戏", - "Game Strategy Game": "游戏-策略游戏", - "Game Streetfighter": "游戏-街头霸王", - "Game Zelda": "游戏-塞尔达传说", - "Misc Architectural": "其他-建筑", - "Misc Disco": "其他-迪斯科", - "Misc Dreamscape": "其他-梦境", - "Misc Dystopian": "其他-反乌托邦", - "Misc Fairy Tale": "其他-童话故事", - "Misc Gothic": "其他-哥特风", - "Misc Grunge": "其他-垮掉的", - "Misc Horror": "其他-恐怖", - "Misc Kawaii": "其他-可爱", - "Misc Lovecraftian": "其他-洛夫克拉夫特", - "Misc Macabre": "其他-恐怖", - "Misc Manga": "其他-漫画", - "Misc Metropolis": "其他-大都市", - "Misc Minimalist": "其他-极简主义", - "Misc Monochrome": "其他-单色", - "Misc Nautical": "其他-航海", - "Misc Space": "其他-太空", - "Misc Stained Glass": "其他-彩色玻璃", - "Misc Techwear Fashion": "其他-科技时尚", - "Misc Tribal": "其他-部落", - "Misc Zentangle": "其他-禅绕画", - "Papercraft Collage": "手工艺-拼贴", - "Papercraft Flat Papercut": "手工艺-平面剪纸", - "Papercraft Kirigami": "手工艺-切纸", - "Papercraft Paper Mache": "手工艺-纸浆塑造", - "Papercraft Paper Quilling": "手工艺-纸艺卷轴", - "Papercraft Papercut Collage": "手工艺-剪纸拼贴", - "Papercraft Papercut Shadow Box": "手工艺-剪纸影箱", - "Papercraft Stacked Papercut": "手工艺-层叠剪纸", - "Papercraft Thick Layered Papercut": "手工艺-厚层剪纸", - "Photo Alien": "摄影-外星人", - "Photo Film Noir": "摄影-黑色电影", - "Photo Glamour": "摄影-魅力", - "Photo Hdr": "摄影-高动态范围", - "Photo Iphone Photographic": "摄影-苹果手机摄影", - "Photo Long Exposure": "摄影-长曝光", - "Photo Neon Noir": "摄影-霓虹黑色", - "Photo Silhouette": "摄影-轮廓", - "Photo Tilt Shift": "摄影-移轴", - "Cinematic Diva": "电影女主角", - "Abstract Expressionism": "抽象表现主义", - "Academia": "学术", - "Action Figure": "动作人偶", - "Adorable 3D Character": "可爱的3D角色", - "Adorable Kawaii": "可爱的卡哇伊", - "Art Deco": "装饰艺术", - "Art Nouveau": "新艺术,美丽艺术", - "Astral Aura": "星体光环", - "Avant Garde": "前卫", - "Baroque": "巴洛克", - "Bauhaus Style Poster": "包豪斯风格海报", - "Blueprint Schematic Drawing": "蓝图示意图", - "Caricature": "漫画", - "Cel Shaded Art": "卡通渲染", - "Character Design Sheet": "角色设计表", - "Classicism Art": "古典主义艺术", - "Color Field Painting": "色彩领域绘画", - "Colored Pencil Art": "彩色铅笔艺术", - "Conceptual Art": "概念艺术", - "Constructivism": "建构主义", - "Cubism": "立体主义", - "Dadaism": "达达主义", - "Dark Fantasy": "黑暗奇幻", - "Dark Moody Atmosphere": "黑暗忧郁气氛", - "Dmt Art Style": "迷幻艺术风格", - "Doodle Art": "涂鸦艺术", - "Double Exposure": "双重曝光", - "Dripping Paint Splatter Art": "滴漆飞溅艺术", - "Expressionism": "表现主义", - "Faded Polaroid Photo": "褪色的宝丽来照片", - "Fauvism": "野兽派", - "Flat 2d Art": "平面 2D 艺术", - "Fortnite Art Style": "堡垒之夜艺术风格", - "Futurism": "未来派", - "Glitchcore": "故障核心", - "Glo Fi": "光明高保真", - "Googie Art Style": "古吉艺术风格", - "Graffiti Art": "涂鸦艺术", - "Harlem Renaissance Art": "哈莱姆文艺复兴艺术", - "High Fashion": "高级时装", - "Idyllic": "田园诗般", - "Impressionism": "印象派", - "Infographic Drawing": "信息图表绘图", - "Ink Dripping Drawing": "滴墨绘画", - "Japanese Ink Drawing": "日式水墨画", - "Knolling Photography": "规律摆放摄影", - "Light Cheery Atmosphere": "轻松愉快的气氛", - "Logo Design": "标志设计", - "Luxurious Elegance": "奢华优雅", - "Macro Photography": "微距摄影", - "Mandola Art": "曼陀罗艺术", - "Marker Drawing": "马克笔绘图", - "Medievalism": "中世纪主义", - "Minimalism": "极简主义", - "Neo Baroque": "新巴洛克", - "Neo Byzantine": "新拜占庭", - "Neo Futurism": "新未来派", - "Neo Impressionism": "新印象派", - "Neo Rococo": "新洛可可", - "Neoclassicism": "新古典主义", - "Op Art": "欧普艺术", - "Ornate And Intricate": "华丽而复杂", - "Pencil Sketch Drawing": "铅笔素描", - "Pop Art 2": "流行艺术2", - "Rococo": "洛可可", - "Silhouette Art": "剪影艺术", - "Simple Vector Art": "简单矢量艺术", - "Sketchup": "草图", - "Steampunk 2": "赛博朋克2", - "Surrealism": "超现实主义", - "Suprematism": "至上主义", - "Terragen": "地表风景", - "Tranquil Relaxing Atmosphere": "宁静轻松的氛围", - "Sticker Designs": "贴纸设计", - "Vibrant Rim Light": "生动的边缘光", - "Volumetric Lighting": "体积照明", - "Watercolor 2": "水彩2", - "Whimsical And Playful": "异想天开、俏皮", - "Mk Chromolithography": "MK 色彩版画", - "Mk Cross Processing Print": "MK 交叉过程打印", - "Mk Dufaycolor Photograph": "MK 杜法色彩照片", - "Mk Herbarium": "MK 植物标本馆", - "Mk Punk Collage": "MK 朋克拼贴画", - "Mk Mosaic": "MK 镶嵌图", - "Mk Van Gogh": "MK 梵高", - "Mk Coloring Book": "MK 色彩书", - "Mk Singer Sargent": "MK 辛格 · 萨尔生特", - "Mk Pollock": "MK 波洛克", - "Mk Basquiat": "MK 巴斯奎特", - "Mk Andy Warhol": "MK 安迪 · 沃霍尔", - "Mk Halftone Print": "MK 半色版画", - "Mk Gond Painting": "MK 贡德绘画", - "Mk Albumen Print": "MK 白蛋清印刷", - "Mk Aquatint Print": "MK 水蚀刻印刷", - "Mk Anthotype Print": "MK 花纹版画", - "Mk Inuit Carving": "MK 因纽特雕塑", - "Mk Bromoil Print": "MK 溴油印刷", - "Mk Calotype Print": "MK 卡洛雅图印刷", - "Mk Color Sketchnote": "MK色彩素描笔记", - "Mk Cibulak Porcelain": "MK 西布拉瓷器", - "Mk Alcohol Ink Art": "MK 酒精水彩艺术", - "Mk One Line Art": "MK 一线画", - "Mk Blacklight Paint": "MK 黑光油漆", - "Mk Carnival Glass": "MK 嘉年华玻璃", - "Mk Cyanotype Print": "MK 青色版画", - "Mk Cross Stitching": "MK 交叉针织", - "Mk Encaustic Paint": "MK 蜡漆", - "Mk Embroidery": "MK 刺绣", - "Mk Gyotaku": "MK 鱼拓版画", - "Mk Luminogram": "MK 光感影像", - "Mk Lite Brite Art": "MK 彩色灯泡艺术", - "Mk Mokume Gane": "MK 木金工艺", - "Pebble Art": "MK 鹅卵石艺术", - "Mk Palekh": "MK 帕列赫", - "Mk Suminagashi": "MK 澄洗画", - "Mk Scrimshaw": "MK 丝线绣", - "Mk Shibori": "MK 湿布雕版印刷", - "Mk Vitreous Enamel": "MK 玻璃珐琅", - "Mk Ukiyo E": "MK 浮世绘", - "Mk Vintage Airline Poster": "MK 古董航空公司海报", - "Mk Vintage Travel Poster": "MK 古董旅行海报", - "Mk Bauhaus Style": "Mk 包豪斯风格", - "Mk Afrofuturism": "Mk 非洲未来主义", - "Mk Atompunk": "Mk 原子朋克", - "Mk Constructivism": "Mk 构成派", - "Mk Chicano Art": "Mk 西班牙裔美国艺术", - "Mk De Stijl": "Mk 去风格派", - "Mk Dayak Art": "Mk 达雅克艺术", - "Mk Fayum Portrait": "Mk 法尤姆肖像画", - "Mk Illuminated Manuscript": "Mk 彩绘手稿", - "Mk Kalighat Painting": "Mk 卡利加特绘画", - "Mk Madhubani Painting": "Mk 马杜班尼绘画", - "Mk Pictorialism": "Mk 描绘主义", - "Mk Pichwai Painting": "Mk 皮奇瓦伊绘画", - "Mk Patachitra Painting": "Mk 帕塔基特拉绘画", - "Mk Samoan Art Inspired": "Mk 萨莫亚艺术启发的", - "Mk Tlingit Art": "Mk 特林吉特艺术", - "Mk Adnate Style": "Mk 阿达内特风格", - "Mk Ron English Style": "Mk 罗恩英国风格", - "Mk Shepard Fairey Style": "Mk 舒帕德 · 费尔利风格" -} \ No newline at end of file diff --git a/web_version/v2/assets/extensions-H2sIrZX5.js b/web_version/v2/assets/extensions-H2sIrZX5.js deleted file mode 100644 index 3f40c70..0000000 --- a/web_version/v2/assets/extensions-H2sIrZX5.js +++ /dev/null @@ -1 +0,0 @@ -var __defProp=Object.defineProperty,__typeError=e=>{throw TypeError(e)},__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__publicField=(e,t,i)=>__defNormalProp(e,"symbol"!=typeof t?t+"":t,i),__accessCheck=(e,t,i)=>t.has(e)||__typeError("Cannot "+i),__privateGet=(e,t,i)=>(__accessCheck(e,t,"read from private field"),i?i.call(e):t.get(e)),__privateAdd=(e,t,i)=>t.has(e)?__typeError("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),__privateSet=(e,t,i,s)=>(__accessCheck(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),__privateMethod=(e,t,i)=>(__accessCheck(e,t,"access private method"),i),_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_pos,_size,_node,_value,_ComboWidget_instances,getValues_fn,canUseButton_fn,tryChangeValue_fn;import{d as defineStore,h as hotkeys,s as script,a as script$1,T as Tooltip,b as script$2}from"./vendor-DcaQJ8Sr.js";import{c as cloneDeep}from"./lodash-CZi7izHi.js";import{r as ref,m as markRaw,t as toRaw,u as useModel,o as onMounted,a as openBlock,c as createElementBlock,b as createBaseVNode,d as createVNode,e as unref,w as withDirectives,f as createBlock,g as mergeModels}from"./vue-CYk3Qk0T.js";let app$1=(null==(_b=null==(_a=window.comfyAPI)?void 0:_a.app)?void 0:_b.app)||null,api=(null==(_d=null==(_c=window.comfyAPI)?void 0:_c.api)?void 0:_d.api)||null,$el=(null==(_f=null==(_e=window.comfyAPI)?void 0:_e.ui)?void 0:_f.$el)||null,ComfyDialog=(null==(_h=null==(_g=window.comfyAPI)?void 0:_g.dialog)?void 0:_h.ComfyDialog)||null,ComfyWidgets=(null==(_j=null==(_i=window.comfyAPI)?void 0:_i.widgets)?void 0:_j.ComfyWidgets)||null,applyTextReplacements=(null==(_l=null==(_k=window.comfyAPI)?void 0:_k.utils)?void 0:_l.applyTextReplacements)||null,GroupNodeConfig=(null==(_n=null==(_m=window.comfyAPI)?void 0:_m.groupNode)?void 0:_n.GroupNodeConfig)||null,registerExtension=e=>{try{app$1.registerExtension(e)}catch(t){}};const getUserSettingsValue=e=>{var t,i;return e?null==(i=null==(t=null==app$1?void 0:app$1.ui)?void 0:t.settings)?void 0:i.getSettingValue(e):null};function getSetting(e,t=null){try{let i=e?getUserSettingsValue(e):null;return null==i&&(i=t?localStorage[t]:localStorage[e]||null),i}catch(i){return null}}function getSettingsLookup(e,t=e=>{}){var i;const s=null==(i=app$1.ui.settings.settingsLookup)?void 0:i[e];s&&(s.onChange=e=>t(e))}async function setSetting(e,t,i=null){var s,o;try{(null==(o=null==(s=null==app$1?void 0:app$1.ui)?void 0:s.settings)?void 0:o.setSettingValue)?app$1.ui.settings.setSettingValue(e,t):await api.storeSetting(e,t),i&&(localStorage[i]="object"==typeof t?JSON.stringify(t):t)}catch(a){}}function addSetting(e){app$1.ui.settings.settingsLookup[e.id]||app$1.ui.settings.addSetting(e)}function getLocale(){return getSetting("Comfy.Locale")}const zhCN={"Workflow created by":"工作流创建者","Watch more video content":"观看更多视频内容","Workflow Guide":"工作流指南","💎 View Checkpoint Info...":"💎 查看 Checkpoint 信息...","💎 View Lora Info...":"💎 查看 Lora 信息...","🔃 Reload Node":"🔃 刷新节点","Updated At:":"最近更新:","Created At:":"首次发布:","✏️ Edit":"✏️ 编辑","💾 Save":"💾 保存","No notes":"当前还没有备注内容","Saving Notes...":"正在保存备注...","Type your notes here":"在这里输入备注内容",ModelName:"模型名称","Models Required":"所需模型","Download Model":"下载模型","Source Url":"模型源地址",Notes:"备注",Type:"类型","Trained Words":"训练词",BaseModel:"基础算法",Details:"详情",Description:"描述",Download:"下载量",Source:"来源","Saving Preview...":"正在保存预览图...","Saving Succeed":"保存成功","Clean SuccessFully":"清理成功","Clean Failed":"清理失败","Saving Failed":"保存失败","No COMBO link":"沒有找到COMBO连接","Reboot ComfyUI":"重启ComfyUI","Are you sure you'd like to reboot the server?":"是否要重启ComfyUI?","NODES MAP":"管理节点组","Nodes Map (shift + m)":"节点组 (shift + m)","Nodes map sorting mode":"管理节点组排序模式","Search by Node ID/Name...":"通过节点ID/名称搜索...","No Nodes":"未找到节点","No nodes found in the map":"在工作流程中没有找到节点","No nodes found in the search":"未找到与搜索匹配的节点","Jump to this node":"跳转到该节点","Rename node":"重命名节点","Delete node":"删除节点","Rename group":"重命名组","Delete group":"删除组","Expand All":"展开所有组","Collapse All":"折叠所有组",Close:"关闭","Default automatic sorting, if set to manual, groups can be dragged and dropped and the sorting results saved.":"默认自动排序,如果设置为手动,组可以拖放并保存排序结果。","For drag and drop sorting, please find Nodes map sorting mode in Settings->EasyUse and change it to manual":"如需拖拽排序请在设置->EasyUse节点中找到管理节点组排序模式并修改成 manual",Queue:"队列","Cleanup Of VRAM Usage":"清理显存占用","Please stop all running tasks before cleaning GPU":"请在清理GPU之前停止所有运行中的任务",Always:"启用中",Bypass:"已忽略",Never:"已停用","Auto Sorting":"自动排序","Toggle `Show/Hide` can set mode of group, LongPress can set group nodes to never":"点击`启用中/已忽略`可设置组模式, 长按可停用该组节点","Enable Shift+Up/Down/Left/Right key and Shift+Ctrl+Alt+Left/Right to align selected nodes":"启用 Shift+上/下/左/右 和 Shift+Ctrl+Alt+左/右 键对齐选中的节点","Enable Shift+Ctrl+Left/Right key to normalize selected nodes":"启用 Shift+Ctrl+左/右 键规范化选中的节点","Enable Shift+g to add selected nodes to a group":"启用 Shift+g 键将选中的节点添加一个组","Enable Shift+r to unload models and node cache":"启用 Shift+r 键卸载模型和节点缓存","Enable Shift+m to toggle nodes map":"启用 Shift+m 键显隐管理节点组","Enable Up/Down/Left/Right key to jump nearest nodes":"启用 上/下/左/右 键跳转到最近的前后节点","Enable Alt+1~9 to paste nodes from nodes template":"启用 Alt+1~9 从节点模板粘贴到工作流中","Enable contextMenu auto nest subdirectories":"启用上下文菜单自动嵌套子目录","Enable right-click menu to add node A~Z sorting":"启用右键菜单中新建节点A~Z排序","Enable model thumbnails display":"启动模型预览图显示","Enable nodes runtime display":"启动节点运行时间显示","Enable chain get node and set node with parent nodes":"启用将获取点和设置点与父节点链在一起","Maximum number of model thumbnails displayed":"显示的模型缩略图的最大数量","Too many thumbnails will affect the first loading time, set the maximum value to not load the thumbnail function when there are too many models's thumbnail":"太多的缩略图会影响首次加载时间,当模型缩略图太多时,设置最大值以不加载缩略图功能","Too many thumbnails, have closed the display":"模型缩略图太多啦,为您关闭了显示","Shift+Up/Down/Left/Right can align selected nodes, Shift+Ctrl+Alt+Left/Right can distribute horizontal/vertical nodes":"Shift+上/下/左/右 可以对齐选中的节点, Shift+Ctrl+Alt+左/右 可以水平/垂直分布节点","Enable Shift+Ctrl+Left key to normalize width and Shift+Ctrl+Right key to normalize height":"启用 Shift+Ctrl+左 键规范化宽度和 Shift+Ctrl+右 键规范化高度","After v1.2.39, Ctrl+g can be used instead of it":"从v1.2.39开始,可以使用Ctrl+g代替","Use three shortcut buttons in the right-click menu":"在右键菜单中使用三个快捷按钮","Enable Nodes Map":"启用节点组管理","Display Groups Only":"仅显示组","Display Node ID":"显示节点ID","You need to refresh the page to update successfully":"您需要刷新页面以成功更新","Get styles list Failed":"获取样式列表失败","Get style image Failed":"获取样式图片失败","Empty All":"清空所有","Type here to search styles ...":"在此处输入以搜索样式 ...","Loading UserInfo...":"正在获取用户信息...","Please set the APIKEY first":"请先设置APIKEY","Setting APIKEY":"设置APIKEY","Save Account Info":"保存账号信息",Choose:"选择",Delete:"删除",Edit:"编辑","At least one account is required":"删除失败: 至少需要一个账户","APIKEY is not Empty":"APIKEY 不能为空","Add Account":"添加账号","Getting Your APIKEY":"获取您的APIKEY","Choose Selected Images":"选择选中的图片","Choose images to continue":"选择图片以继续",Background:"背景",Hat:"帽子",Hair:"头发",Body:"身体",Face:"脸部",Clothes:"衣服",Others:"其他",Glove:"手套",Glasses:"眼镜",Sunglasses:"太阳镜","Upper-clothes":"上衣","Top-clothes":"上衣","Bottom-clothes":"下身装","Torso-skin":"皮肤",Dress:"连衣裙",Belt:"腰带",Coat:"外套",Socks:"袜子",Pants:"裤子",Jumpsuits:"连体衣",Bag:"包",Scarf:"围巾",Skirt:"裙子","Left-arm":"左臂","Right-arm":"右臂","Left-leg":"左腿","Right-leg":"右腿","Left-foot":"左脚","Right-foot":"右脚","Left-shoe":"左鞋","Right-shoe":"右鞋","select mask components":"选择分割部位","select items":"选择项",Unlabelled:"未标记","shirt, blouse":"衬衫,女式衬衫","top, t-shirt, sweatshirt":"上衣,T恤,运动衫",sweater:"毛衣",cardigan:"开襟毛衣",jacket:"夹克",vest:"背心",pants:"长裤",shorts:"短裤",skirt:"裙子",coat:"外套",dress:"连衣裙",jumpsuit:"连体衣",cape:"斗篷",glasses:"眼镜",hat:"帽子","headband, head covering, hair accessory":"头带,头饰,发饰",tie:"领带",glove:"手套",watch:"手表",belt:"腰带","leg warmer":"护腿","tights, stockings":"紧身袜,丝袜",sock:"袜子",shoe:"鞋子","bag, wallet":"包,钱包",scarf:"围巾",umbrella:"雨伞",hood:"帽兜",collar:"领子",lapel:"翻领",epaulette:"肩章",sleeve:"袖子",pocket:"口袋",neckline:"领口",buckle:"扣环",zipper:"拉链",applique:"贴花",bead:"珠子",bow:"蝴蝶结",flower:"花朵装饰",fringe:"流苏",ribbon:"丝带",rivet:"铆钉",ruffle:"褶边",sequin:"亮片",tassel:"流苏穗",background:"背景",skin:"皮肤",nose:"鼻子",eyeglasses:"眼镜",left_eye:"左眼",right_eye:"右眼",left_eyebrow:"左眉毛",right_eyebrow:"右眉毛",left_ear:"左耳",right_ear:"右耳",mouth:"嘴巴",upper_lip:"上唇",lower_lip:"下唇",hair:"头发",earring:"耳环",necklace:"项链",neck:"脖子",clothing:"服装",s:"秒","No Node Templates Found":"未找到节点模板预设","Get Node Templates File Failed":"获取节点模板文件失败","Node template with {key} not set":"未设置快捷键为{key}的节点预设","ComfyUI Basic":"ComfyUI 基础节点","Recommend Nodes":"推荐节点","Others A~Z":"其他节点 A~Z","The maximum number of inputs is 20":"输入数量最大20个","The maximum number of outputs is 20":"输出数量最大20个","Stop recording":"停止录音","Voice input":"语音输入",Continue:"继续",Stop:"停止",now:"当前",prev:"上一步"},$t=(e,t=!1)=>{switch(t?navigator.language:getLocale()){case"zh-CN":case"zh":return zhCN[e]||e;default:return e}};function addPreconnect(e,t=!1){const i=document.createElement("link");i.rel="preconnect",i.href=e,t&&(i.crossorigin=""),document.head.appendChild(i)}function addCss(e,t=!0,i="ComfyUI-Easy-Use"){const s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.href=t?`extensions/${i}/${e}`:e,document.head.appendChild(s)}const PREFIX_CLASS="comfyui-easyuse-",DARK_THEME_CLASS="dark-theme",THEME_COLOR="#60a5fa",CUSTOM_LINK_TYPES_COLOR={PIPE_LINE:"#7737AA",PIPE_LINE_SDXL:"#7737AA",INT:"#29699C",X_Y:"#38291f",XYPLOT:"#74DA5D",LORA_STACK:"#94dccd",CONTROL_NET_STACK:"#94dccd",FLOW_CONTROL:"#373780"},MAX_SEED_NUM=0x4000000000000,COMFYUI_NODE_BASIC_CATEGORY=["loaders","latent","image","mask","sampling","_for_testing","advanced","utils","api","api node","加载器","Latent","图像","遮罩","采样","_用于测试","高级","工具","API","api 节点","chargeurs","latent","image","masque","échantillonnage","_pour_test","avancé","outils","nœud api","загрузчики","латентный","изображение","маска","выборка","_для_тестирования","расширенный","инструменты","api","api узел","로더","잠재","이미지","마스크","샘플링","_테스트용","고급","도구","api","api 노드","ローダー","潜在","画像","マスク","サンプリング","_テスト用","高度な","ツール","api","apiノード","cargadores","latente","imagen","máscara","muestreo","_para_pruebas","avanzado","herramientas","api","nodo api"],HUMAN_SEGMENTATION={selfie_multiclass_256x256:["Background","Hair","Body","Face","Clothes","Others"],human_parsing_lip:["Background","Hat","Hair","Glove","Sunglasses","Upper-clothes","Dress","Coat","Socks","Pants","Jumpsuits","Scarf","Skirt","Face","Left-arm","Right-arm","Left-leg","Right-leg","Left-shoe","Right-shoe"],"human_parts (deeplabv3p)":["Background","Face","Hair","Glasses","Top-clothes","Bottom-clothes","Torso-skin","Left-arm","Right-arm","Left-leg","Right-leg","Left-foot","Right-foot"],segformer_b3_clothes:{Background:0,Hat:1,Hair:2,Sunglasses:3,"Upper-clothes":4,Skirt:5,Pants:6,Dress:7,Belt:8,"Left-shoe":9,"Right-shoe":10,Face:11,"Left-leg":12,"Right-leg":13,"Left-arm":14,"Right-arm":15,Bag:16,Scarf:17},segformer_b3_fashion:{Unlabelled:0,"shirt, blouse":1,"top, t-shirt, sweatshirt":2,sweater:3,cardigan:4,jacket:5,vest:6,pants:7,shorts:8,skirt:9,coat:10,dress:11,jumpsuit:12,cape:13,glasses:14,hat:15,"headband, head covering, hair accessory":16,tie:17,glove:18,watch:19,belt:20,"leg warmer":21,"tights, stockings":22,sock:23,shoe:24,"bag, wallet":25,scarf:26,umbrella:27,hood:28,collar:29,lapel:30,epaulette:31,sleeve:32,pocket:33,neckline:34,buckle:35,zipper:36,applique:37,bead:38,bow:39,flower:40,fringe:41,ribbon:42,rivet:43,ruffle:44,sequin:45,tassel:46},face_parsing:["background","skin","nose","eyeglasses","left_eye","right_eye","left_eyebrow","right_eyebrow","left_ear","right_ear","mouth","upper_lip","lower_lip","hair","hat","earring","necklace","neck","clothing"]},NODE_MODE={ALWAYS:0,NEVER:2,BYPASS:4},NODES_MAP_ID="easyuse_nodes_map",NO_PREVIEW_IMAGE="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QMyaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMSA3OS4xNDYyODk5Nzc3LCAyMDIzLzA2LzI1LTIzOjU3OjE0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2RkFERDc2MUNDRkIxMUVGQjFENkE0NzFCNTUzRkQ0MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2RkFERDc2MkNDRkIxMUVGQjFENkE0NzFCNTUzRkQ0MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjUyMkMxRkIyQ0M0QzExRUZCMUQ2QTQ3MUI1NTNGRDQwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZGQURENzYwQ0NGQjExRUZCMUQ2QTQ3MUI1NTNGRDQwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEB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",VERSION=112,bgcolor$1="rgba(24,24,27,.9)",obsidian={ColorPalette:{version:VERSION,id:"obsidian",name:"Obsidian",colors:{node_slot:{CLIP:"#FFD500",CLIP_VISION:"#A8DADC",CLIP_VISION_OUTPUT:"#ad7452",CONDITIONING:"#FFA931",CONTROL_NET:"#6EE7B7",IMAGE:"#64B5F6",LATENT:"#FF9CF9",MASK:"#81C784",MODEL:"#B39DDB",STYLE_MODEL:"#C2FFAE",VAE:"#FF6E6E",TAESD:"#DCC274",PIPE_LINE:"#7737AA",PIPE_LINE_SDXL:"#7737AA",INT:"#29699C",X_Y:"#38291f",XYPLOT:"#74DA5D",LORA_STACK:"#94dccd",CONTROL_NET_STACK:"#94dccd",FAST_MODEL_LOADER:"#ffd399",SAMPLING:"#60a5fa"},litegraph_base:{BACKGROUND_IMAGE:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=",CLEAR_BACKGROUND_COLOR:"#222222",NODE_TITLE_COLOR:"#d4d4d8",NODE_SELECTED_TITLE_COLOR:"#ffffff",NODE_TEXT_SIZE:14,NODE_TEXT_COLOR:"#ffffff",NODE_SUBTEXT_SIZE:12,NODE_DEFAULT_COLOR:"#09090b",NODE_DEFAULT_BGCOLOR:"rgba(24,24,27,.9)",NODE_DEFAULT_BOXCOLOR:"rgba(255,255,255,.75)",NODE_DEFAULT_SHAPE:2,NODE_BOX_OUTLINE_COLOR:THEME_COLOR,NODE_BYPASS_BGCOLOR:"#FF00FF",NODE_ERROR_COLOUR:"#E00",DEFAULT_SHADOW_COLOR:"rgba(0,0,0,0)",DEFAULT_GROUP_FONT:24,WIDGET_BGCOLOR:"#242427",WIDGET_OUTLINE_COLOR:"#3f3f46",WIDGET_TEXT_COLOR:"#d4d4d8",WIDGET_SECONDARY_TEXT_COLOR:"#d4d4d8",LINK_COLOR:"#9A9",EVENT_LINK_COLOR:"#A86",CONNECTING_LINK_COLOR:"#AFA"},comfy_base:{"fg-color":"#fff","bg-color":"#09090b","comfy-menu-bg":"rgba(24,24,24,.9)","comfy-input-bg":"#262626","input-text":"#ddd","descrip-text":"#999","drag-text":"#ccc","error-text":"#ff4444","border-color":"#29292c","tr-even-bg-color":"rgba(28,28,28,.9)","tr-odd-bg-color":"rgba(19,19,19,.9)"}}},NODE_COLORS:{red:{color:"#af3535",bgcolor:bgcolor$1,groupcolor:"#A88"},brown:{color:"#38291f",bgcolor:bgcolor$1,groupcolor:"#b06634"},green:{color:"#346434",bgcolor:bgcolor$1,groupcolor:"#8A8"},blue:{color:"#1f1f48",bgcolor:bgcolor$1,groupcolor:"#88A"},pale_blue:{color:"#006691",bgcolor:bgcolor$1,groupcolor:"#3f789e"},cyan:{color:"#008181",bgcolor:bgcolor$1,groupcolor:"#8AA"},purple:{color:"#422342",bgcolor:bgcolor$1,groupcolor:"#a1309b"},yellow:{color:"#c09430",bgcolor:bgcolor$1,groupcolor:"#b58b2a"},black:{color:"rgba(0,0,0,.8)",bgcolor:bgcolor$1,groupcolor:"#444"}}};let obsidian_dark=JSON.parse(JSON.stringify(obsidian));delete obsidian_dark.NODE_COLORS,obsidian_dark.ColorPalette.id="obsidian_dark",obsidian_dark.ColorPalette.name="Obsidian Dark",obsidian_dark.ColorPalette.colors.litegraph_base.BACKGROUND_IMAGE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmIyYzRhNjA5LWJmYTctYTg0MC1iOGFlLTk3MzE2ZjM1ZGIyNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk0ZmNlZGU4LTE1MTctZmQ0MC04ZGU3LWYzOTgxM2E3ODk5ZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMxYjEwYjAtYjRmYi0wMjRlLWIxMmUtMzA1MzAzY2QwN2M4IiBzdEV2dDp3aGVuPSIyMDIzLTExLTEzVDAwOjE4OjAyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OWY1NzlmLTJkNjUtZWQ0Zi04OTg0LTA4NGE2MGE1ZTMzNSIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xNVQwMjowNDo1OSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmM0YTYwOS1iZmE3LWE4NDAtYjhhZS05NzMxNmYzNWRiMjciIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OTe6GAAAAx0lEQVR42u3WMQoAIQxFwRzJys77X8vSLiRgITif7bYbgrwYc/mKXyBoY4VVBgsWLFiwYFmOlTv+9jfDOjHmr8u6eVkGCxYsWLBgmc5S8ApewXvgYRksWLBgKXidpeBdloL3wMOCBctgwVLwCl7BuyyDBQsWLFiwTGcpeAWv4D3wsAwWLFiwFLzOUvAuS8F74GHBgmWwYCl4Ba/gXZbBggULFixYprMUvIJX8B54WAYLFixYCl5nKXiXpeA98LBgwTJYsGC9tg1o8f4TTtqzNQAAAABJRU5ErkJggg==",obsidian_dark.ColorPalette.colors.litegraph_base.CLEAR_BACKGROUND_COLOR="#09090b";const bgcolor="#FFFFFF",milk_white={ColorPalette:{id:"milk_white",name:"Milk White",colors:{node_slot:{CLIP:"#FFA726",CLIP_VISION:"#5C6BC0",CLIP_VISION_OUTPUT:"#8D6E63",CONDITIONING:"#EF5350",CONTROL_NET:"#66BB6A",IMAGE:"#42A5F5",LATENT:"#AB47BC",MASK:"#9CCC65",MODEL:"#7E57C2",STYLE_MODEL:"#D4E157",VAE:"#FF7043",PIPE_LINE:"#7737AA",PIPE_LINE_SDXL:"#7737AA",INT:"#29699C",X_Y:"#38291f",XYPLOT:"#74DA5D",LORA_STACK:"#94dccd",CONTROL_NET_STACK:"#94dccd",FAST_MODEL_LOADER:"#ffd399",SAMPLING:"#60a5fa"},litegraph_base:{BACKGROUND_IMAGE:"data:image/gif;base64,R0lGODlhZABkALMAAAAAAP///+vr6+rq6ujo6Ofn5+bm5uXl5d3d3f///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAABkAGQAAAT/UMhJq7046827HkcoHkYxjgZhnGG6si5LqnIM0/fL4qwwIMAg0CAsEovBIxKhRDaNy2GUOX0KfVFrssrNdpdaqTeKBX+dZ+jYvEaTf+y4W66mC8PUdrE879f9d2mBeoNLfH+IhYBbhIx2jkiHiomQlGKPl4uZe3CaeZifnnijgkESBqipqqusra6vsLGys62SlZO4t7qbuby7CLa+wqGWxL3Gv3jByMOkjc2lw8vOoNSi0czAncXW3Njdx9Pf48/Z4Kbbx+fQ5evZ4u3k1fKR6cn03vHlp7T9/v8A/8Gbp4+gwXoFryXMB2qgwoMMHyKEqA5fxX322FG8tzBcRnMW/zlulPbRncmQGidKjMjyYsOSKEF2FBlJQMCbOHP6c9iSZs+UnGYCdbnSo1CZI5F64kn0p1KnTH02nSoV3dGTV7FFHVqVq1dtWcMmVQZTbNGu72zqXMuW7danVL+6e4t1bEy6MeueBYLXrNO5Ze36jQtWsOG97wIj1vt3St/DjTEORss4nNq2mDP3e7w4r1bFkSET5hy6s2TRlD2/mSxXtSHQhCunXo26NevCpmvD/UU6tuullzULH76q92zdZG/Ltv1a+W+osI/nRmyc+fRi1Xdbh+68+0vv10dH3+77KD/i6IdnX669/frn5Zsjh4/2PXju8+8bzc9/6fj27LFnX11/+IUnXWl7BJfegm79FyB9JOl3oHgSklefgxAC+FmFGpqHIYcCfkhgfCohSKKJVo044YUMttggiBkmp6KFXw1oII24oYhjiDByaKOOHcp3Y5BD/njikSkO+eBREQAAOw==",CLEAR_BACKGROUND_COLOR:"lightgray",NODE_TITLE_COLOR:"#222",NODE_SELECTED_TITLE_COLOR:"#000",NODE_TEXT_SIZE:14,NODE_TEXT_COLOR:"#444",NODE_SUBTEXT_SIZE:12,NODE_DEFAULT_COLOR:"#F7F7F7",NODE_DEFAULT_BGCOLOR:"#F5F5F5",NODE_DEFAULT_BOXCOLOR:"#555",NODE_DEFAULT_SHAPE:2,NODE_BOX_OUTLINE_COLOR:"#000",DEFAULT_SHADOW_COLOR:"rgba(0,0,0,0.1)",DEFAULT_GROUP_FONT:24,WIDGET_BGCOLOR:"#D4D4D4",WIDGET_OUTLINE_COLOR:"#999",WIDGET_TEXT_COLOR:"#222",WIDGET_SECONDARY_TEXT_COLOR:"#555",LINK_COLOR:"#9A9",EVENT_LINK_COLOR:"#FF9800",CONNECTING_LINK_COLOR:"#222"},comfy_base:{"fg-color":"#222","bg-color":"#DDD","comfy-menu-bg":"#F5F5F5","comfy-input-bg":"#C9C9C9","input-text":"#222","descrip-text":"#444","drag-text":"#555","error-text":"#F44336","border-color":"#bbb","tr-even-bg-color":"#f9f9f9","tr-odd-bg-color":"#fff","content-bg":"#e0e0e0","content-fg":"#222","content-hover-bg":"#adadad","content-hover-fg":"#222"}}},NODE_COLORS:{red:{color:"#af3535",bgcolor:bgcolor,groupcolor:"#A88"},brown:{color:"#38291f",bgcolor:bgcolor,groupcolor:"#b06634"},green:{color:"#346434",bgcolor:bgcolor,groupcolor:"#8A8"},blue:{color:"#1f1f48",bgcolor:bgcolor,groupcolor:"#88A"},pale_blue:{color:"#006691",bgcolor:bgcolor,groupcolor:"#3f789e"},cyan:{color:"#008181",bgcolor:bgcolor,groupcolor:"#8AA"},purple:{color:"#422342",bgcolor:bgcolor,groupcolor:"#a1309b"},yellow:{color:"#c09430",bgcolor:bgcolor,groupcolor:"#b58b2a"},black:{color:"rgba(0,0,0,.8)",bgcolor:bgcolor,groupcolor:"#444"}}},settings={addGroup:{id:"EasyUse.Hotkeys.AddGroup",name:"Enable Shift+g to add selected nodes to a group",tooltip:"After v1.2.39, Ctrl+g can be used instead of it",type:"boolean",defaultValue:!0},cleanVRAMUsed:{id:"EasyUse.Hotkeys.cleanVRAMUsed",name:"Enable Shift+r to unload models and node cache",type:"boolean",defaultValue:!0},toggleSiteMap:{id:"EasyUse.Hotkeys.toggleNodesMap",name:"Enable Shift+m to toggle nodes map",type:"boolean",defaultValue:!0},alignSelectedNodes:{id:"EasyUse.Hotkeys.AlignSelectedNodes",name:"Enable Shift+Up/Down/Left/Right key and Shift+Ctrl+Alt+Left/Right to align selected nodes",tooltip:"Shift+Up/Down/Left/Right can align selected nodes, Shift+Ctrl+Alt+Left/Right can distribute horizontal/vertical nodes",type:"boolean",defaultValue:!0},NormalizeSelectedNodes:{id:"EasyUse.Hotkeys.NormalizeSelectedNodes",name:"Enable Shift+Ctrl+Left/Right key to normalize selected nodes",tooltip:"Enable Shift+Ctrl+Left key to normalize width and Shift+Ctrl+Right key to normalize height",type:"boolean",defaultValue:!0},nodesTemplate:{id:"EasyUse.Hotkeys.NodesTemplate",name:"Enable Alt+1~9 to paste nodes from nodes template",type:"boolean",defaultValue:!0},jumpNearestNodes:{id:"EasyUse.Hotkeys.JumpNearestNodes",name:"Enable Up/Down/Left/Right key to jump nearest nodes",type:"boolean",defaultValue:!0},subDirectories:{id:"EasyUse.ContextMenu.SubDirectories",name:"Enable contextMenu auto nest subdirectories",type:"boolean",defaultValue:!1},modelsThumbnails:{id:"EasyUse.ContextMenu.ModelsThumbnails",name:"Enable model thumbnails display",type:"boolean",defaultValue:!1},rightMenuNodesSort:{id:"EasyUse.ContextMenu.NodesSort",name:"Enable right-click menu to add node A~Z sorting",type:"boolean",defaultValue:!0},quickOptions:{id:"EasyUse.ContextMenu.QuickOptions",name:"Use three shortcut buttons in the right-click menu",type:"combo",options:["At the forefront","At the end","Disable"],defaultValue:"At the forefront"},nodesRuntime:{id:"EasyUse.Nodes.Runtime",name:"Enable nodes runtime display",type:"boolean",defaultValue:!0},chainGetSet:{id:"EasyUse.Nodes.ChainGetSet",name:"Enable chain get node and set node with parent nodes",type:"boolean",defaultValue:!0},nodesMap:{id:"EasyUse.NodesMap.Sorting",name:"Nodes map sorting mode",tooltip:"Default automatic sorting, if set to manual, groups can be dragged and dropped and the sorting results saved.",type:"combo",options:["Auto sorting","Manual drag&drop sorting"],defaultValue:"Auto sorting"},displayNodesID:{id:"EasyUse.NodesMap.DisplayNodeID",name:"Display Node ID",type:"boolean",defaultValue:!0},onlyDisplayGroup:{id:"EasyUse.NodesMap.DisplayGroupOnly",name:"Display Groups Only",type:"boolean",defaultValue:!1},enableNodesMap:{id:"EasyUse.NodesMap.Enable",name:"Enable Nodes Map",tooltip:"You need to refresh the page to update successfully",type:"boolean",defaultValue:!0}};function sleep(e=100,t){return new Promise((i=>{setTimeout((()=>{i(t)}),e)}))}function formatTime(e,t){if(e="number"==typeof e?e:e instanceof Date?e.getTime():parseInt(e),isNaN(e))return null;let i=new Date(e);(e=i.toString().split(/[\s\:]/g).slice(0,-2))[1]=["01","02","03","04","05","06","07","08","09","10","11","12"][i.getMonth()];let s={MM:1,dd:2,yyyy:3,hh:4,mm:5,ss:6};return t.replace(/([Mmdhs]|y{2})\1/g,(t=>e[s[t]]))}function isLocalNetwork(e){return["192.168.","10.","127.",/^172\.((1[6-9]|2[0-9]|3[0-1])\.)/].some((t=>"string"==typeof t?e.startsWith(t):t.test(e)))}const isMac=/Mac|iPod|iPhone|iPad/.test(navigator.platform),normalize=e=>isMac?e.replace(/Ctrl/g,"⌘").replace(/Alt/g,"⌥").replace(/Shift/g,"⇧"):e;class Toast{constructor(){__publicField(this,"element",$el(`div.${PREFIX_CLASS}toast`)),__publicField(this,"children",HTMLElement),__publicField(this,"container",document.body),__publicField(this,"info_icon",`mdi mdi-information ${PREFIX_CLASS}theme`),__publicField(this,"success_icon",`mdi mdi-check-circle ${PREFIX_CLASS}success`),__publicField(this,"error_icon",`mdi mdi-close-circle ${PREFIX_CLASS}error`),__publicField(this,"warn_icon",`mdi mdi-alert-circle ${PREFIX_CLASS}warning`),__publicField(this,"loading_icon","mdi mdi-rotate-right loading"),this.container.appendChild(this.element)}async show(e){let t=$el(`div.${PREFIX_CLASS}toast-container`,[$el("div",[$el("span",[...e.icon?[$el("i",{className:e.icon})]:[],$el("span",e.content)])])]);t.setAttribute("toast-id",e.id),this.element.replaceChildren(t),this.container.appendChild(this.element),await sleep(64),t.style.marginTop=`-${t.offsetHeight}px`,await sleep(64),t.classList.add("show"),e.duration&&(await sleep(e.duration),this.hide(e.id))}async hide(e){const t=document.querySelector(`.${PREFIX_CLASS}toast > [toast-id="${e}"]`);(null==t?void 0:t.classList.contains("show"))&&(t.classList.remove("show"),await sleep(750)),t&&t.remove()}async clearAllMessages(){let e=document.querySelector(`.${PREFIX_CLASS}container`);e&&(e.innerHTML="")}async info(e,t=3e3,i=[]){this.show({id:"toast-info",icon:this.info_icon,content:e,duration:t})}async success(e,t=3e3){this.show({id:"toast-success",icon:this.success_icon,content:e,duration:t})}async error(e,t=3e3){this.show({id:"toast-error",icon:this.error_icon,content:e,duration:t})}async warn(e,t=3e3){this.show({id:"toast-warn",icon:this.warn_icon,content:e,duration:t})}async showLoading(e,t=0){this.show({id:"toast-loading",icon:this.loading_icon,content:e,duration:t})}async hideLoading(){this.hide("toast-loading")}}const toast=new Toast,useNodesStore=defineStore("groups",{state:e=>({groups:[],nodes:[],isWatching:!1}),getters:{groups_nodes(){var e;let t=[],i=[];const s=e=>{var t;return{info:e,children:(null==(t=e.sub_groups)?void 0:t.length)>0?e.sub_groups.map(s):[],bounds:{x1:e.pos[0],y1:e.pos[1],x2:e.pos[0]+e.size[0],y2:e.pos[1]+e.size[1]}}};if(t=this.groups.map(s),(null==(e=this.nodes)?void 0:e.length)>0){const e=(e,t)=>e[0]>=t.x1&&e[0]<=t.x2&&e[1]>=t.y1&&e[1]<=t.y2,s=(t,i)=>{let s=null,o=-1;const a=(i,n)=>{i.bounds&&e(t.pos,i.bounds)&&(n>o&&(o=n,s=i),i.children.forEach((e=>a(e,n+1))))};return i.forEach((e=>a(e,0))),s};this.nodes.forEach((e=>{const o=s(e,t);o?(o.children||(o.children=[]),o.children.push(e)):i.push({info:e})}))}return[...t,...i]}},actions:{setGroups(e){let t=cloneDeep(e);t.forEach((e=>{e.sub_groups=[],t.forEach((t=>{t!==e&&t.pos[0]>e.pos[0]&&t.pos[0]e.pos[1]&&t.pos[1]{t=t.filter((t=>t!==e))}))})),this.groups="Manual drag&drop sorting"==getSetting("EasyUse.NodesMap.Sorting")?cloneDeep(t):cloneDeep(t.sort(((e,t)=>e.pos[0]-t.pos[0])).sort(((e,t)=>e.pos[1]-t.pos[1])))},setNodes(e){this.nodes=cloneDeep(e)},update(){var e,t,i;(((null==(e=app$1.extensionManager)?void 0:e.activeSidebarTab)||(null==(i=null==(t=app$1.extensionManager.sidebarTab)?void 0:t.activeSidebarTab)?void 0:i.id))===NODES_MAP_ID||this.isWatching)&&setTimeout((e=>{this.setGroups(app$1.canvas.graph._groups),this.setNodes(app$1.canvas.graph._nodes)}),1)},watchGraph(e=!1){e&&(this.isWatching=!0);let t=this;this.update();const i=app$1.graph.onNodeAdded;app$1.graph.onNodeAdded=function(e){t.update();const s=e.onRemoved;return e.onRemoved=function(){return t.update(),null==s?void 0:s.apply(this,arguments)},null==i?void 0:i.apply(this,arguments)},app$1.canvas.onNodeMoved=function(e){t.update()};const s=LGraphCanvas.onNodeAlign;LGraphCanvas.onNodeAlign=function(e){return t.update(),null==s?void 0:s.apply(this,arguments)};const o=LGraphCanvas.onGroupAdd;LGraphCanvas.onGroupAdd=function(){return t.update(),null==o?void 0:o.apply(this,arguments)};const a=LGraphCanvas.onGroupAlign;LGraphCanvas.onGroupAlign=function(e){return t.update(),null==a?void 0:a.apply(this,arguments)};const n=LGraphCanvas.onMenuNodeRemove;LGraphCanvas.onMenuNodeRemove=function(e){return t.update(),null==n?void 0:n.apply(this,arguments)}},unwatchGraph(){this.isWatching=!1}}});function drawRoundedRect(e,t,i,s,o,a){e.beginPath(),e.moveTo(t+a,i),e.lineTo(t+s-a,i),e.arcTo(t+s,i,t+s,i+a,a),e.lineTo(t+s,i+o-a),e.arcTo(t+s,i+o,t+s-a,i+o,a),e.lineTo(t+a,i+o),e.arcTo(t,i+o,t,i+o-a,a),e.lineTo(t,i+a),e.arcTo(t,i,t+a,i,a),e.closePath()}function drawText(e,t,i,s,o="#000",a=12,n="Inter"){e.font=`${a}px ${n}`,e.fillStyle=o,e.fillText(t,i,s)}const ELLIPSIS="…",TWO_DOT_LEADER="‥",ONE_DOT_LEADER="․",RenderShape={BOX:1,ROUND:2,CIRCLE:3,CARD:4,ARROW:5,GRID:6,HollowCircle:7};function strokeShape(e,t,i={}){const{shape:s=RenderShape.BOX,round_radius:o=LiteGraph.ROUND_RADIUS,title_height:a=LiteGraph.NODE_TITLE_HEIGHT,title_mode:n=LiteGraph.NORMAL_TITLE,color:l=LiteGraph.NODE_BOX_OUTLINE_COLOR,padding:r=6,collapsed:d=!1,thickness:u=1}=i;n===LiteGraph.TRANSPARENT_TITLE&&(t[1]-=a,t[3]+=a);const{lineWidth:p,strokeStyle:c}=e;e.lineWidth=u,e.globalAlpha=.8,e.strokeStyle=l,e.beginPath();const[A,g,h,m]=t;switch(s){case RenderShape.BOX:e.rect(A-r,g-r,h+2*r,m+2*r);break;case RenderShape.ROUND:case RenderShape.CARD:{const t=o+r,i=s===RenderShape.CARD&&d||s===RenderShape.ROUND?[t]:[t,2,t,2];e.roundRect(A-r,g-r,h+2*r,m+2*r,i);break}case RenderShape.CIRCLE:{const t=A+h/2,i=g+m/2,s=Math.max(h,m)/2+r;e.arc(t,i,s,0,2*Math.PI);break}}e.stroke(),e.lineWidth=p,e.strokeStyle=c,e.globalAlpha=1}function truncateTextToWidth(e,t,i){if(!(i>0))return"";if(e.measureText(t).width<=i)return t;const s=.75*e.measureText(ELLIPSIS).width;if(s>i){if(.75*e.measureText(TWO_DOT_LEADER).width{if(!e.length||1===e.length)return!0;const t=e[0].naturalWidth/e[0].naturalHeight;for(let i=1;ia&&(a=v,d=f,u=y,p=g,c=e,A=g*((s-f)/2))}return{cellWidth:d,cellHeight:u,cols:p,rows:c,shiftX:A}}const renderPreview=(e,t,i)=>{const s=app$1.canvas,o=s.graph_mouse;!s.pointer_is_down&&t.pointerDown&&(o[0]===t.pointerDown.pos[0]&&o[1]===t.pointerDown.pos[1]&&(t.imageIndex=t.pointerDown.index),t.pointerDown=null);const a=t.imgs??[];let{imageIndex:n}=t;const l=a.length;1!==l||n||(t.imageIndex=n=0);const r=t.size[0],d=t.size[1]-i-15;if(null==n){let n,u,p,c,A;const g=is_all_same_aspect_ratio$1(a);if(g)c=0,({cellWidth:n,cellHeight:u,cols:A,shiftX:p}=calculateImageGrid$1(a,r,d));else{c=2;const e=a.reduce(((e,t)=>Math.max(e,t.naturalWidth,t.naturalHeight)),0),t=[];t.length=a.length,t[0]={naturalWidth:e,naturalHeight:e},({cellWidth:n,cellHeight:u,cols:A,shiftX:p}=calculateImageGrid$1(t,r,d))}let h=!1;t.imageRects=[];for(let r=0;r{let r="#333",d="#fff",u=!1;return LiteGraph.isInsideRectangle(o[0],o[1],i+t.pos[0],a+t.pos[1],n,n)&&(s.canvas.style.cursor="pointer",s.pointer_is_down?(r="#1e90ff",u=!0):(r="#eee",d="#000")),e.fillStyle=r,e.beginPath(),e.roundRect(i,a,n,n,[4]),e.fill(),e.fillStyle=d,e.font="12px Arial",e.textAlign="center",e.fillText(l,i+15,a+20),u};if(!(l>1))return;const w=(t.imageIndex??0)+1;if(_(r-40,d+i-40,30,`${w}/${l}`)){const e=w>=l?0:w;t.pointerDown&&t.pointerDown.index===e||(t.pointerDown={index:e,pos:[...o]})}_(r-40,i+10,30,"x")&&(t.pointerDown&&null===t.pointerDown.index||(t.pointerDown={index:null,pos:[...o]}))};class ImagePreviewWidget{constructor(e,t){this.type="custom",this.name=e,this.options=t,this.value=""}draw(e,t,i,s,o){renderPreview(e,t,s)}computeLayoutSize(e,t){return{minHeight:220,minWidth:1}}}const useImagePreviewWidget=()=>(e,t)=>e.addCustomWidget(new ImagePreviewWidget(t.name,{serialize:!1})),useChainCallback=(e,...t)=>function(...i){null==e||e.call(this,...i),t.forEach((e=>e.call(this,...i)))},useTryCatchCallback=(e,...t)=>function(...i){try{t.forEach((e=>null==e?void 0:e.call(this,...i)))}catch(s){null==e||e.call(this,...i,s)}};function isInRectangle(e,t,i,s,o,a){return e>=i&&e=s&&t=i&&e=s&&t=e[0]&&this.y+this.height>=e[1]}containsRect(e){return this.x<=e[0]&&this.y<=e[1]&&this.x+this.width>=e[0]+e[2]&&this.y+this.height>=e[1]+e[3]}overlaps(e){return this.xe[0]&&this.y+this.height>e[1]}findContainingCorner(e,t,i){return this.isInTopLeftCorner(e,t,i)?"NW":this.isInTopRightCorner(e,t,i)?"NE":this.isInBottomLeftCorner(e,t,i)?"SW":this.isInBottomRightCorner(e,t,i)?"SE":void 0}isInTopLeftCorner(e,t,i){return isInRectangle(e,t,this.x,this.y,i,i)}isInTopRightCorner(e,t,i){return isInRectangle(e,t,this.right-i,this.y,i,i)}isInBottomLeftCorner(e,t,i){return isInRectangle(e,t,this.x,this.bottom-i,i,i)}isInBottomRightCorner(e,t,i){return isInRectangle(e,t,this.right-i,this.bottom-i,i,i)}isInTopEdge(e,t,i){return isInRectangle(e,t,this.x,this.y,this.width,i)}isInBottomEdge(e,t,i){return isInRectangle(e,t,this.x,this.bottom-i,this.width,i)}isInLeftEdge(e,t,i){return isInRectangle(e,t,this.x,this.y,i,this.height)}isInRightEdge(e,t,i){return isInRectangle(e,t,this.right-i,this.y,i,this.height)}getCentre(){return[this.centreX,this.centreY]}getArea(){return this.width*this.height}getPerimeter(){return 2*(this.width+this.height)}getTopLeft(){return[this[0],this[1]]}getBottomRight(){return[this.right,this.bottom]}getSize(){return[this[2],this[3]]}getOffsetTo([e,t]){return[e-this[0],t-this[1]]}getOffsetFrom([e,t]){return[this[0]-e,this[1]-t]}resizeTopLeft(e,t){this[2]+=this[0]-e,this[3]+=this[1]-t,this[0]=e,this[1]=t}resizeBottomLeft(e,t){this[2]+=this[0]-e,this[3]=t-this[1],this[0]=e}resizeTopRight(e,t){this[2]=e-this[0],this[3]+=this[1]-t,this[1]=t}resizeBottomRight(e,t){this[2]=e-this[0],this[3]=t-this[1]}setWidthRightAnchored(e){const t=this[2];this[2]=e,this[0]+=t-e}setHeightBottomAnchored(e){const t=this[3];this[3]=e,this[1]+=t-e}toArray(){return this.export()}export(){return[this[0],this[1],this[2],this[3]]}_drawDebug(e,t="red"){const{strokeStyle:i,lineWidth:s}=e;try{e.strokeStyle=t,e.lineWidth=.5,e.beginPath(),e.strokeRect(this[0],this[1],this[2],this[3])}finally{e.strokeStyle=i,e.lineWidth=s}}}_pos=new WeakMap,_size=new WeakMap;const _BaseWidget=class e{constructor(e,t){__privateAdd(this,_node),__privateAdd(this,_value),void 0===t&&(t=e.node),__privateSet(this,_node,t),__privateSet(this,_value,e.value),this.name=e.name,this.options=e.options,this.type=e.type,this.y=0;const{node:i,outline_color:s,background_color:o,height:a,text_color:n,secondary_text_color:l,disabledTextColor:r,displayName:d,displayValue:u,labelBaseline:p,...c}=e;Object.assign(this,c)}get node(){return __privateGet(this,_node)}get value(){return __privateGet(this,_value)}set value(e){__privateSet(this,_value,e)}get outline_color(){return this.advanced?LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR:LiteGraph.WIDGET_OUTLINE_COLOR}get background_color(){return LiteGraph.WIDGET_BGCOLOR}get height(){return LiteGraph.NODE_WIDGET_HEIGHT}get text_color(){return LiteGraph.WIDGET_TEXT_COLOR}get secondary_text_color(){return LiteGraph.WIDGET_SECONDARY_TEXT_COLOR}get disabledTextColor(){return LiteGraph.WIDGET_DISABLED_TEXT_COLOR}get displayName(){return this.label||this.name}get _displayValue(){return String(this.value)}get labelBaseline(){return this.y+.7*this.height}drawWidgetShape(t,{width:i,showText:s,isEasyUseTheme:o}){const{height:a,y:n}=this,{margin:l}=e;t.textAlign="left",t.strokeStyle=this.outline_color,t.fillStyle=this.background_color,t.beginPath(),s?o?t.roundRect(l,n,i-2*l,a,[.25*a]):t.roundRect(l,n,i-2*l,a,[.5*a]):t.rect(l,n,i-2*l,a),t.fill(),s&&!this.computedDisabled&&t.stroke()}drawTruncatingText({ctx:t,width:i,leftPadding:s=5,rightPadding:o=20,isEasyUseTheme:a}){const{height:n,y:l}=this,{margin:r}=e,{displayName:d,_displayValue:u}=this,p=t.measureText(d).width,c=t.measureText(u).width,A=e.labelValueGap,g=2*r+(a?s?2:-8:s),h=i-g-2*r-(a?4:o),m=p+A+c,f=new Rectangle(g,l,h,.7*n);if(a&&(t.font="11px Inter"),t.fillStyle=this.secondary_text_color,m<=h)drawTextInArea({ctx:t,text:d,area:f,align:"left"});else if(LiteGraph.truncateWidgetTextEvenly){const e=(h-A)/(m-A);f.width=p*e,drawTextInArea({ctx:t,text:d,area:f,align:"left"}),f.right=g+h,f.setWidthRightAnchored(c*e)}else if(LiteGraph.truncateWidgetValuesFirst){const e=Math.min(p,h);f.width=e,drawTextInArea({ctx:t,text:d,area:f,align:"left"}),f.right=g+h,f.setWidthRightAnchored(Math.max(h-A-e,0))}else{const e=Math.min(c,h);f.width=Math.max(h-A-e,0),drawTextInArea({ctx:t,text:d,area:f,align:"left"}),f.right=g+h,f.setWidthRightAnchored(e)}t.fillStyle=this.text_color,drawTextInArea({ctx:t,text:u,area:f,align:"right"})}setValue(e,{e:t,node:i,canvas:s}){var o;const a=this.value;if(e===this.value)return;const n="number"===this.type?Number(e):e;this.value=n,(null==(o=this.options)?void 0:o.property)&&void 0!==i.properties[this.options.property]&&i.setProperty(this.options.property,n);const l=s.graph_mouse;this.callback&&this.callback(this.value,s,i,l,t),i.onWidgetChanged&&i.onWidgetChanged(this.name??"",n,a,this),i.graph&&i.graph._version++}};_node=new WeakMap,_value=new WeakMap,__publicField(_BaseWidget,"margin",15),__publicField(_BaseWidget,"arrowMargin",6),__publicField(_BaseWidget,"arrowWidth",10),__publicField(_BaseWidget,"minValueWidth",42),__publicField(_BaseWidget,"labelValueGap",5);let BaseWidget=_BaseWidget;class ButtonWidget extends BaseWidget{constructor(e,t){super(e,t),this.type="button",this.clicked=this.clicked??!1}drawWidget(e,{width:t,showText:i=!0,isEasyUseTheme:s=!1}){const{fillStyle:o,strokeStyle:a,textAlign:n}=e,{height:l,y:r}=this,{margin:d}=BaseWidget;e.fillStyle=this.background_color,this.clicked&&(e.fillStyle="#AAA",this.clicked=!1),s?(e.fillStyle=this.background_color,e.beginPath(),e.roundRect(d,r,t-2*d,l,[.25*l]),e.fill()):e.fillRect(d,r,t-2*d,l),i&&!this.computedDisabled&&(e.strokeStyle=this.outline_color,s?e.stroke():e.strokeRect(d,r,t-2*d,l)),i&&this.drawLabel(e,.5*t),Object.assign(e,{textAlign:n,strokeStyle:a,fillStyle:o})}drawLabel(e,t){e.textAlign="center",e.fillStyle=this.text_color,e.fillText(this.displayName,t,this.y+.7*this.height)}onClick({e:e,node:t,canvas:i}){const s=i.graph_mouse;this.clicked=!0,i.setDirty(!0),this.callback&&this.callback(this,i,t,s,e)}}class BooleanWidget extends BaseWidget{constructor(e){super(e),this.type="toggle"}drawWidget(e,{width:t,showText:i=!0,isEasyUseTheme:s=!1}){const{height:o,y:a}=this,{margin:n}=BaseWidget;this.drawWidgetShape(e,{width:t,showText:i,isEasyUseTheme:s}),e.fillStyle=this.value?THEME_COLOR:"#333",e.beginPath(),e.arc(t-2*n+(s?4:0),a+.5*o,o*(s?.25:.36),0,2*Math.PI),e.fill(),i&&(this.drawLabel(e,2*n-(s?8:0)),this.drawValue(e,t-(s?36:40)))}drawLabel(e,t){e.fillStyle=this.secondary_text_color;const{displayName:i}=this;i&&e.fillText(i,t,this.labelBaseline)}drawValue(e,t){e.fillStyle=this.value?this.text_color:this.secondary_text_color,e.textAlign="right";const i=this.value?this.options.on||"true":this.options.off||"false";e.fillText(i,t,this.labelBaseline)}onClick(e){this.setValue(!this.value,e)}}function getWidgetStep(e){return e.step2||.1*(e.step||10)}function clamp(e,t,i){return ei?i:e}const sentWarnings=new Set;function warnDeprecated(e,t=null){if(!LiteGraph.alwaysRepeatWarnings){if(sentWarnings.has(e))return;if(sentWarnings.size>UNIQUE_MESSAGE_LIMIT)return;sentWarnings.add(e)}for(const i of LiteGraph.onDeprecationWarning)i(e,t)}class SliderWidget extends BaseWidget{constructor(e,t){super(e,t),this.type="slider"}drawWidget(e,{width:t,showText:i=!0,isEasyUseTheme:s=!1}){const{fillStyle:o,strokeStyle:a,textAlign:n}=e,{height:l,y:r}=this,{margin:d}=BaseWidget;e.fillStyle=this.background_color,s?(e.strokeStyle=this.outline_color,e.beginPath(),e.roundRect(d,r,t-2*d,l,[.25*l]),e.fill(),e.stroke()):e.fillRect(d,r,t-2*d,l);const u=this.options.max-this.options.min;let p=(this.value-this.options.min)/u;if(p=clamp(p,0,1),e.fillStyle=this.options.slider_color??THEME_COLOR,s?(e.beginPath(),e.roundRect(d,r,p*(t-2*d),l,[.25*l]),e.fill()):e.fillRect(d,r,p*(t-2*d),l),i&&!this.computedDisabled&&(e.strokeStyle=this.outline_color,s||e.strokeRect(d,r,t-2*d,l)),null!=this.marker){let i=(this.marker-this.options.min)/u;i=clamp(i,0,1),e.fillStyle=this.options.marker_color??"#AA9",s?e.roundRect(d+i*(t-2*d),r,2,l,[.25*l]):e.fillRect(d+i*(t-2*d),r,2,l)}if(i){e.textAlign="center",e.fillStyle=this.text_color;const i=Number(this.value).toFixed(this.options.precision??3);e.fillText(`${this.label||this.name} ${i}`,.5*t,r+.7*l)}Object.assign(e,{textAlign:n,strokeStyle:a,fillStyle:o})}onClick(e){if(this.options.read_only)return;const{e:t,node:i}=e,s=this.width||i.size[0],o=clamp((t.canvasX-i.pos[0]-15)/(s-30),0,1),a=this.options.min+(this.options.max-this.options.min)*o;a!==this.value&&this.setValue(a,e)}onDrag(e){if(this.options.read_only)return!1;const{e:t,node:i}=e,s=this.width||i.size[0],o=clamp((t.canvasX-i.pos[0]-15)/(s-30),0,1),a=this.options.min+(this.options.max-this.options.min)*o;a!==this.value&&this.setValue(a,e)}}class KnobWidget extends BaseWidget{constructor(){super(),this.type="knob",this.current_drag_offset=0}computeLayoutSize(){return{minHeight:60,minWidth:20,maxHeight:1e6,maxWidth:1e6}}get height(){return this.computedHeight||super.height}drawWidget(e,{width:t,showText:i=!0}){const{fillStyle:s,strokeStyle:o,textAlign:a}=e,{y:n}=this,{margin:l}=BaseWidget,{gradient_stops:r="rgb(14, 182, 201); rgb(0, 216, 72)"}=this.options,d=this.computedHeight||this.height,u=Math.min(this.computedHeight||this.height,this.width||20)/20,p={x:t/2,y:d/2+n};e.lineWidth=(Math.min(t,d)-l*u)/6;const c=(Math.min(t,d)-l*u-e.lineWidth)/2;{const t=e.createRadialGradient(p.x,p.y,c+e.lineWidth,0,0,c+e.lineWidth);t.addColorStop(0,"rgb(29, 29, 29)"),t.addColorStop(1,"rgb(116, 116, 116)"),e.fillStyle=t}e.beginPath(),e.arc(p.x,p.y,c+e.lineWidth/2,0,2*Math.PI,!1),e.fill(),e.closePath();const A={start_angle:.6*Math.PI,end_angle:2.4*Math.PI};e.beginPath();{const t=e.createRadialGradient(p.x,p.y,c+e.lineWidth,0,0,c+e.lineWidth);t.addColorStop(0,"rgb(99, 99, 99)"),t.addColorStop(1,"rgb(36, 36, 36)"),e.strokeStyle=t}e.arc(p.x,p.y,c,A.start_angle,A.end_angle,!1),e.stroke(),e.closePath();const g=this.options.max-this.options.min;let h=(this.value-this.options.min)/g;h=clamp(h,0,1),e.beginPath();const m=e.createConicGradient(A.start_angle,p.x,p.y),f=r.split(";");for(const[v,_]of f.entries())m.addColorStop(v,_.trim());e.strokeStyle=m;const y=(A.end_angle-A.start_angle)*h+A.start_angle;if(e.arc(p.x,p.y,c,A.start_angle,y,!1),e.stroke(),e.closePath(),i&&!this.computedDisabled&&(e.strokeStyle=this.outline_color,e.beginPath(),e.strokeStyle=this.outline_color,e.arc(p.x,p.y,c+e.lineWidth/2,0,2*Math.PI,!1),e.lineWidth=1,e.stroke(),e.closePath()),i){e.textAlign="center",e.fillStyle=this.text_color;const i=Number(this.value).toFixed(this.options.precision??3);e.fillText(`${this.label||this.name}\n${i}`,.5*t,n+.5*d)}Object.assign(e,{textAlign:a,strokeStyle:o,fillStyle:s})}onClick(){this.current_drag_offset=0}onDrag(e){if(this.options.read_only)return;const{e:t}=e,i=getWidgetStep(this.options),s=this.options.max-this.options.min,o=s/10,a=s/100,n={delta_x:i,shift:o>i?o-o%i:i,delta_y:a>i?a-a%i:i},l=Math.abs(t.movementY)>Math.abs(t.movementX),r=l?-t.movementY:t.movementX;this.current_drag_offset+=r;let d=0;this.current_drag_offset>15?(d+=1,this.current_drag_offset-=15):this.current_drag_offset<-15&&(d-=1,this.current_drag_offset+=15);const u=d*(t.shiftKey?n.shift:l?n.delta_y:i),p=clamp(this.value+u,this.options.min,this.options.max);p!==this.value&&this.setValue(p,e)}}class BaseSteppedWidget extends BaseWidget{constructor(e,t){super(e,t)}canIncrement(){throw new Error("Method not implemented")}canDecrement(){throw new Error("Method not implemented")}incrementValue(e){throw new Error("Method not implemented")}decrementValue(e){throw new Error("Method not implemented")}drawArrowButtons(e,t,i){const{height:s,text_color:o,disabledTextColor:a,y:n}=this,{arrowMargin:l,arrowWidth:r,margin:d}=BaseWidget,u=d+l+(i?2:0),p=u+r;e.fillStyle=this.canDecrement()?o:a,e.beginPath();const c=i?6.5:5,A=i?-6:0;e.moveTo(p+A,n+c),e.lineTo(u+A/2,n+.5*s),e.lineTo(p+A,n+s-c),e.fill(),e.fillStyle=this.canIncrement()?o:a,e.beginPath(),e.moveTo(t-p-A,n+c),e.lineTo(t-u-A/2,n+.5*s),e.lineTo(t-p-A,n+s-c),e.fill()}drawWidget(e,t){const{fillStyle:i,strokeStyle:s,textAlign:o}=e;this.drawWidgetShape(e,t),t.showText&&(this.computedDisabled||this.drawArrowButtons(e,t.width,t.isEasyUseTheme),this.drawTruncatingText({ctx:e,width:t.width,isEasyUseTheme:t.isEasyUseTheme})),Object.assign(e,{textAlign:o,strokeStyle:s,fillStyle:i})}}function toArray(e){return Array.isArray(e)?e:Object.keys(e)}class ComboWidget extends BaseSteppedWidget{constructor(e,t){super(e,t),__privateAdd(this,_ComboWidget_instances),this.type="combo"}get _displayValue(){const{values:e}=this.options;if(e){const t="function"==typeof e?e():e;if(t&&!Array.isArray(t))return t[this.value]}return"number"==typeof this.value?String(this.value):this.value}canIncrement(){return __privateMethod(this,_ComboWidget_instances,canUseButton_fn).call(this,!0)}canDecrement(){return __privateMethod(this,_ComboWidget_instances,canUseButton_fn).call(this,!1)}incrementValue(e){__privateMethod(this,_ComboWidget_instances,tryChangeValue_fn).call(this,1,e)}decrementValue(e){__privateMethod(this,_ComboWidget_instances,tryChangeValue_fn).call(this,-1,e)}onClick({e:e,node:t,canvas:i}){const s=e.canvasX-t.pos[0],o=this.width||t.size[0];if("function"==typeof this.options.values&&warnDeprecated("Using a function for values is deprecated. Use an array of unique values instead."),s<40)return this.decrementValue({e:e,node:t,canvas:i});if(s>o-40)return this.incrementValue({e:e,node:t,canvas:i});const a=__privateMethod(this,_ComboWidget_instances,getValues_fn).call(this,t),n=toArray(a),l=a!=n?Object.values(a):a;new LiteGraph.ContextMenu(l,{scale:Math.max(1,i.ds.scale),event:e,className:"dark",callback:s=>{this.setValue(a!=n?l.indexOf(s):s,{e:e,node:t,canvas:i})}})}}_ComboWidget_instances=new WeakSet,getValues_fn=function(e){const{values:t}=this.options;if(null==t)throw new Error("[ComboWidget]: values is required");return"function"==typeof t?t(this,e):t},canUseButton_fn=function(e){const{values:t}=this.options;if("function"==typeof t)return!1;const i=toArray(t);if(!(i.length>1))return!1;const s=i.at(0),o=i.at(-1);return s===o||this.value!==(e?o:s)},tryChangeValue_fn=function(e,t){const i=__privateMethod(this,_ComboWidget_instances,getValues_fn).call(this,t.node),s=toArray(i);t.canvas.last_mouseclick=0;const o=clamp("object"==typeof i?s.indexOf(String(this.value))+e:s.indexOf(this.value)+e,0,s.length-1),a=Array.isArray(i)?i[o]:o;this.setValue(a,t)};class NumberWidget extends BaseSteppedWidget{constructor(e,t){super(e,t),this.type="number"}get _displayValue(){return Number(this.value).toFixed(void 0!==this.options.precision?this.options.precision:3)}canIncrement(){const{max:e}=this.options;return null==e||this.valuee}incrementValue(e){this.setValue(this.value+getWidgetStep(this.options),e)}decrementValue(e){this.setValue(this.value-getWidgetStep(this.options),e)}setValue(e,t){let i=e;null!=this.options.min&&ithis.options.max&&(i=this.options.max),super.setValue(i,t)}onClick({e:e,node:node,canvas:canvas}){const x=e.canvasX-node.pos[0],width=this.width||node.size[0],delta=x<40?-1:x>width-40?1:0;delta?this.setValue(this.value+delta*getWidgetStep(this.options),{e:e,node:node,canvas:canvas}):canvas.prompt("Value",this.value,(v=>{if(/^[\d\s()*+/-]+|\d+\.\d+$/.test(v))try{v=eval(v)}catch{}const newValue=Number(v);isNaN(newValue)||this.setValue(newValue,{e:e,node:node,canvas:canvas})}),e)}onDrag({e:e,node:t,canvas:i}){const s=this.width||t.width,o=e.canvasX-t.pos[0];(o<40?-1:o>s-40?1:0)&&o>-3&&o{null!==s&&this.setValue(s,{e:e,node:t,canvas:i})}),e,(null==(s=this.options)?void 0:s.multiline)??!1)}}class LegacyWidget extends BaseWidget{draw(e,t,i,s,o,a){}drawWidget(e,t){const i=LiteGraph.NODE_WIDGET_HEIGHT;this.draw&&this.draw(e,this.node,t.width,this.y,i,!!t.showText)}onClick(){}}function toClass(e,...t){return t[0]instanceof e?t[0]:new e(...t)}function toConcreteWidget(e,t,i=!0){if(e instanceof BaseWidget)return e;const s=e;switch(s.type){case"button":return toClass(ButtonWidget,s,t);case"toggle":return toClass(BooleanWidget,s,t);case"slider":return toClass(SliderWidget,s,t);case"knob":return toClass(KnobWidget,s,t);case"combo":return toClass(ComboWidget,s,t);case"number":return toClass(NumberWidget,s,t);case"string":case"text":return toClass(TextWidget,s,t);default:if(i)return toClass(LegacyWidget,e,t)}}let nodesStore$1=null;const custom_themes=["custom_obsidian","custom_obsidian_dark","custom_milk_white","obsidian_dark","obsidian","milk_white"],NODE_CUSTOM_COLORS={"easy positive":"green","easy negative":"red","easy promptList":"cyan","easy promptLine":"cyan","easy promptConcat":"cyan","easy promptReplace":"cyan","easy forLoopStart":"blue","easy forLoopEnd":"blue","easy whileLoopStart":"blue","easy whileLoopEnd":"blue","easy loadImagesForLoop":"blue"};let NODE_COLOR_THEMES=LGraphCanvas.node_colors,color_palettes=null,color_palette=null,monitor=null;for(let e in settings)addSetting(settings[e]);let OriginDrawNodeWidgets=null;function getColorBrightness(e,t,i){return.299*e+.587*t+.114*i}function isColorDarkOrLight(e){let t=e.replace("#","");return getColorBrightness(parseInt(t.substring(0,2),16),parseInt(t.substring(2,4),16),parseInt(t.substring(4,6),16))>127.5?"light":"dark"}function drawNodeShape(e,t,i,s,o,a,n){var l,r;t.strokeStyle=s,t.fillStyle=o;const d=LiteGraph.NODE_TITLE_HEIGHT,{low_quality:u}=this,{collapsed:p}=e.flags,c=e.renderingShape,{title_mode:A}=e.constructor,g=A!=LiteGraph.TRANSPARENT_TITLE&&A!=LiteGraph.NO_TITLE;let h=new Float32Array(4);h=[0,g?-d:0,i[0]+1,g?i[1]+d:i[1]];let m=t.globalAlpha;if(t.lineWidth=1,t.beginPath(),c==LiteGraph.BOX_SHAPE||u?t.fillRect(h[0],h[1],h[2],h[3]):c==LiteGraph.ROUND_SHAPE||c==LiteGraph.CARD_SHAPE?t.roundRect(h[0],h[1],h[2],h[3],c==LiteGraph.CARD_SHAPE?[this.round_radius,this.round_radius,0,0]:[this.round_radius]):c==LiteGraph.CIRCLE_SHAPE&&t.arc(.5*i[0],.5*i[1],.5*i[0],0,2*Math.PI),t.strokeStyle=LiteGraph.WIDGET_OUTLINE_COLOR,t.stroke(),t.strokeStyle=s,t.fill(),e.has_errors&&!LiteGraph.use_legacy_node_error_indicator&&strokeShape(t,h,{shape:c,title_mode:A,title_height:d,padding:12,color:LiteGraph.NODE_ERROR_COLOUR,collapsed:p,thickness:10}),!p&&g&&(t.shadowColor="transparent",t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(0,-1,h[2],2)),t.shadowColor="transparent",e.onDrawBackground&&e.onDrawBackground(t,this,this.canvas,this.graph_mouse),g||A==LiteGraph.TRANSPARENT_TITLE){const s="dark"==isColorDarkOrLight((null==e?void 0:e.color)||"#ffffff");e.drawTitleBarBackground(t,{scale:this.ds.scale,low_quality:u}),t.globalAlpha=m;let o=!1;LiteGraph.node_box_coloured_by_mode&&LiteGraph.NODE_MODES_COLORS[e.mode]&&(o=LiteGraph.NODE_MODES_COLORS[e.mode]),LiteGraph.node_box_coloured_when_on&&(o=e.action_triggered?"#FFF":e.execute_triggered?"#AAA":o);let n=10;if(e.onDrawTitleBox)e.onDrawTitleBox(t,d,i,this.ds.scale);else if(c==LiteGraph.ROUND_SHAPE||c==LiteGraph.CIRCLE_SHAPE||c==LiteGraph.CARD_SHAPE){const i=s?"#ffffff":LiteGraph.NODE_SELECTED_TITLE_COLOR,l=s?"#eeeeee":e.boxcolor||o||LiteGraph.NODE_DEFAULT_BOXCOLOR;t.fillStyle=a?i:l,t.beginPath(),t.fillRect(10,0-1.05*n-1,1.1*n,.125*n),t.fillRect(10,0-1.45*n-1,1.1*n,.125*n),t.fillRect(10,0-1.85*n-1,1.1*n,.125*n)}else t.fillStyle=e.renderingBoxColor,t.fillRect(.5*(d-n),-.5*(d+n),n,n);if(t.globalAlpha=m,e.onDrawTitleText&&e.onDrawTitleText(t,d,i,this.ds.scale,this.title_text_font,a),!u){t.font=this.title_text_font;const i=e.getTitle()??`❌ ${e.type}`,o=String(i)+(e.pinned?"📌":"");o&&(t.fillStyle=a?s?"#ffffff":LiteGraph.NODE_SELECTED_TITLE_COLOR:s?"#ffffff":e.constructor.title_text_color||this.node_title_color,e.flags.collapsed?(t.textAlign="left",t.measureText(o),t.fillText(o.substr(0,20),d,LiteGraph.NODE_TITLE_TEXT_Y-d),t.textAlign="left"):(t.textAlign="left",t.fillText(o,d,LiteGraph.NODE_TITLE_TEXT_Y-d)))}if(!p&&e.subgraph&&!e.skip_subgraph_button){let i=LiteGraph.NODE_TITLE_HEIGHT,s=e.size[0]-i,o=LiteGraph.isInsideRectangle(this.graph_mouse[0]-e.pos[0],this.graph_mouse[1]-e.pos[1],s+2,2-i,i-4,i-4);t.fillStyle=o?"#888":"#555",c==LiteGraph.BOX_SHAPE||u?t.fillRect(s+2,2-i,i-4,i-4):(t.beginPath(),t.roundRect(s+2,2-i,i-4,i-4,[4]),t.fill()),t.fillStyle="#333",t.beginPath(),t.moveTo(s+.2*i,.6*-i),t.lineTo(s+.8*i,.6*-i),t.lineTo(s+.5*i,.3*-i),t.fill()}null==(l=e.onDrawTitle)||l.call(e,t)}if(null==e?void 0:e.strokeStyles){for(const i of Object.values(e.strokeStyles)){const s=i.call(e);s&&strokeShape(t,h,{shape:c,title_height:d,title_mode:A,collapsed:p,...s})}null==e||e.drawProgressBar(t)}else if(a){null==(r=e.onBounding)||r.call(e,h),A==LiteGraph.TRANSPARENT_TITLE&&(h[1]-=d,h[3]+=d),t.lineWidth=2,t.globalAlpha=.8,t.beginPath();let o=0,a=0,n=1;c==LiteGraph.BOX_SHAPE?t.rect(o+h[0],o+h[1],a+h[2],a+h[3]):c==LiteGraph.ROUND_SHAPE||c==LiteGraph.CARD_SHAPE&&e.flags.collapsed?t.roundRect(o+h[0],o+h[1],a+h[2],a+h[3],[this.round_radius*n]):c==LiteGraph.CARD_SHAPE?t.roundRect(o+h[0],o+h[1],a+h[2],a+h[3],[this.round_radius*n,n,this.round_radius*n,n]):c==LiteGraph.CIRCLE_SHAPE&&t.arc(.5*i[0],.5*i[1],.5*i[0]+6,0,2*Math.PI),t.strokeStyle=LiteGraph.NODE_BOX_OUTLINE_COLOR,t.stroke(),t.strokeStyle=s,t.globalAlpha=1}e.execute_triggered>0&&e.execute_triggered--,e.action_triggered>0&&e.action_triggered--}function drawNodeWidgets(e,t,i){var s,o;if(!e.widgets)return;const a=e.widgets.some((e=>["easyHidden","fastHidden"].includes(e.type))),n=custom_themes.includes(color_palette);if(!a&&!n)return void(OriginDrawNodeWidgets&&(null==OriginDrawNodeWidgets||OriginDrawNodeWidgets.apply(this,arguments)));let l=this.low_quality||!1,r=this.editor_alpha||1;const d=e.size[0],{widgets:u}=e,p=LiteGraph.NODE_WIDGET_HEIGHT,c=!l;i.save(),i.globalAlpha=r;for(const A of u){if(!e.isWidgetVisible(A))continue;const{y:t}=A,a=A.advanced?LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR:LiteGraph.WIDGET_OUTLINE_COLOR;A.last_y=t,A.computedDisabled=A.disabled||null!=(null==(s=e.getSlotFromWidget(A))?void 0:s.link),i.strokeStyle=a,i.fillStyle="#222",i.textAlign="left",A.computedDisabled&&(i.globalAlpha*=.5);const u=A.width||d;if("function"==typeof A.draw)A.draw(i,e,u,t,p,l);else if("$$canvas-image-preview"==A.name){const e=(e,t,i,s)=>{renderPreview(e,t,s)};A.draw=e}else null==(o=toConcreteWidget(A,e,!1))||o.drawWidget(i,{width:u,showText:c,isEasyUseTheme:n});i.globalAlpha=r}i.restore()}function onMenuNodeMode(e,t,i,s,o){return new LiteGraph.ContextMenu(LiteGraph.NODE_MODES,{event:i,callback:function(e){if(!o)return;var t=Object.values(LiteGraph.NODE_MODES).indexOf(e),i=function(e){t>=0&&LiteGraph.NODE_MODES[t]?e.changeMode(t):e.changeMode(LiteGraph.ALWAYS),nodesStore$1||(nodesStore$1=useNodesStore()),nodesStore$1.update()},s=LGraphCanvas.active_canvas;if(!s.selected_nodes||Object.keys(s.selected_nodes).length<=1)i(o);else for(var a in s.selected_nodes)i(s.selected_nodes[a])},parentMenu:s,node:o}),!1}function onMenuNodeColors(e,t,i,s,o){if(!o)throw"no node for color";var a=[];for(var n in a.push({value:null,content:"No color"}),LGraphCanvas.node_colors){var l=LGraphCanvas.node_colors[n];e={value:n,content:""+n+""};a.push(e)}return new LiteGraph.ContextMenu(a,{event:i,callback:function(e){if(!o)return;var t=e.value?LGraphCanvas.node_colors[e.value]:null,i=function(e){t?e.constructor===LiteGraph.LGraphGroup?e.color=t.groupcolor:(e.color=t.color,e.bgcolor=t.bgcolor):(delete e.color,delete e.bgcolor),nodesStore$1||(nodesStore$1=useNodesStore()),nodesStore$1.update()},s=LGraphCanvas.active_canvas;if(!s.selected_nodes||Object.keys(s.selected_nodes).length<=1)i(o);else for(var a in s.selected_nodes)i(s.selected_nodes[a]);o.setDirtyCanvas(!0,!0)},parentMenu:s,node:o}),!1}function onShowPropertyEditor(e,t,i,s,o){var a=e.property||"title",n=o[a],l=document.createElement("div");l.is_modified=!1,l.className="graphdialog",l.innerHTML="",l.close=function(){l.parentNode&&l.parentNode.removeChild(l)},l.querySelector(".name").innerText=a;var r=l.querySelector(".value");r&&(r.value=n,r.addEventListener("blur",(function(e){this.focus()})),r.addEventListener("keydown",(function(e){if(l.is_modified=!0,27==e.keyCode)l.close();else if(13==e.keyCode)g();else if(13!=e.keyCode&&"textarea"!=e.target.localName)return;e.preventDefault(),e.stopPropagation()})));var d=LGraphCanvas.active_canvas.canvas,u=d.getBoundingClientRect(),p=-20,c=-20;u&&(p-=u.left,c-=u.top),event?(l.style.left=event.clientX+p+"px",l.style.top=event.clientY+c+"px"):(l.style.left=.5*d.width+p+"px",l.style.top=.5*d.height+c+"px"),l.querySelector("button").addEventListener("click",g),d.parentNode.appendChild(l),r&&r.focus();var A=null;function g(){r&&function(t){"Number"==e.type?t=Number(t):"Boolean"==e.type&&(t=Boolean(t));o[a]=t,l.parentNode&&l.parentNode.removeChild(l);o.setDirtyCanvas(!0,!0),nodesStore$1||(nodesStore$1=useNodesStore());nodesStore$1.update()}(r.value)}l.addEventListener("mouseleave",(function(e){LiteGraph.dialog_close_on_mouse_leave&&!l.is_modified&&LiteGraph.dialog_close_on_mouse_leave&&(A=setTimeout(l.close,LiteGraph.dialog_close_on_mouse_leave_delay))})),l.addEventListener("mouseenter",(function(e){LiteGraph.dialog_close_on_mouse_leave&&A&&clearTimeout(A)}))}registerExtension({name:"Comfy.EasyUse.UI",init(){var e,t;const i="Comfy.CustomColorPalettes",s="Comfy.Settings.Comfy.CustomColorPalettes";if(color_palettes||(color_palettes=getSetting(i,s)),color_palette||(color_palette=getSetting("Comfy.ColorPalette","Comfy.Settings.Comfy.ColorPalette")||"dark"),(!(null==(e=null==color_palettes?void 0:color_palettes.obsidian)?void 0:e.version)||color_palettes.obsidian.version{(null==e?void 0:e.value)&&(null==e?void 0:e.oldValue)&&(await sleep(1),Object.assign(app$1.canvas.default_connection_color_byType,CUSTOM_LINK_TYPES_COLOR),Object.assign(LGraphCanvas.link_type_colors,CUSTOM_LINK_TYPES_COLOR)),"custom_milk_white"==e.value&&document.body.classList.remove(DARK_THEME_CLASS)})),setTimeout((e=>setCrystoolsUI(getSetting("Comfy.UseNewMenu")||"Disabled")),1);const t=null==(e=app$1.ui.settings.settingsLookup)?void 0:e["Comfy.UseNewMenu"];t&&(t.onChange=e=>setCrystoolsUI(e)),api.addEventListener("easyuse-toast",(e=>{const t=e.detail.content,i=e.detail.type,s=e.detail.duration;i?toast.show({id:`toast-${i}`,icon:toast[i+"_icon"],content:`${t}`,duration:s||3e3}):toast.info(t,s)}))},async nodeCreated(e){if(NODE_CUSTOM_COLORS.hasOwnProperty(e.comfyClass)){const t=NODE_CUSTOM_COLORS[e.comfyClass],i=NODE_COLOR_THEMES[t];if(!i)return;!e.bgcolor&&i.bgcolor&&(e.bgcolor=i.bgcolor),!e.color&&i.color&&(e.color=i.color)}}});const setCrystoolsUI=e=>{var t;const i=(null==(t=document.getElementById("crystools-root"))?void 0:t.children)||null,s=getSetting("Comfy.Workflow.WorkflowTabsPosition",null);if((null==i?void 0:i.length)>0&&s)if(monitor||(monitor=document.getElementById("MonitorUI")),"Disabled"==e){document.getElementById("crystools-root").appendChild(monitor)}else{let e=document.getElementById("crystools-root-easyuse");if(e)e.appendChild(monitor);else{const e=document.getElementsByClassName("comfyui-menu-right");e.length>0&&e[0].before($el("div",{id:"crystools-root-easyuse"},monitor))}}};let origProps={};const getWidgetByName=(e,t)=>e.widgets.find((e=>e.name===t)),doesInputWithNameLink=(e,t,i)=>!!e.inputs&&e.inputs.some((e=>e.name===t&&e.link&&!i)),toggleWidget=(e,t,i=!1,s="")=>{var o;if(!t||doesInputWithNameLink(e,t.name,i))return;origProps[t.name]||(origProps[t.name]={origType:t.type,origComputeSize:t.computeSize});const a=e.size;t.type=i?origProps[t.name].origType:"easyHidden"+s,t.computeSize=i?origProps[t.name].origComputeSize:()=>[0,-4],null==(o=t.linkedWidgets)||o.forEach((s=>toggleWidget(e,s,":"+t.name,i)));const n=i?Math.max(e.computeSize()[1],a[1]):e.size[1];e.setSize([e.size[0],n])},getWidgetValue=(e,t=0)=>{var i,s;if(e)return(null==(i=e.widgets)?void 0:i[t])?e.widgets[t].value:e.widgets_values?null==(s=e.widgets_values)?void 0:s[t]:void 0},updateNodeHeight=e=>e.setSize([e.size[0],e.computeSize()[1]]),getNodeById=(e,t)=>graph.getNodeById(e),getSelectedNodes=e=>{var t;try{return Object.values(null==(t=null==graph?void 0:graph.list_of_graphcanvas[0])?void 0:t.selected_nodes)}catch(i){return[]}};function easeInOut(e){return.5-.5*Math.cos(Math.PI*e)}function lerp(e,t,i){return e+easeInOut(i)*(t-e)}const jumpToPosition=([e,t],i)=>{const s=i.ds,o=document.body.clientWidth,a=document.body.clientHeight,n=s.scale,l=.5*o/n-e,r=.5*a/n-t,d=Date.now()+250,u=s.offset[0],p=s.offset[1],c=()=>{const e=d-Date.now();if(!(Date.now(){var i,s;const o=(null==(s=null==(i=e.graph)?void 0:i.list_of_graphcanvas)?void 0:s[0])||null;if(!o)return;const[a,n]=e.pos,[l,r]=e.size;jumpToPosition([a+l/2,n+r/2],o),t&&o.selectNode(e)},jumpToNodeId=e=>{const t=getNodeById(e);t&&jumpToNode(t)},getLinks=()=>graph.links??[],getLinkById=(e,t=getLinks())=>t[e],getAllNodes=e=>graph._nodes??[],formatVariables=e=>e.toLowerCase().replace(/_./g,(e=>e.replace("_","").toUpperCase())),isGetNode=e=>"easy getNode"===e.type,isSetNode=e=>"easy setNode"===e.type,isGetSetNode=e=>isGetNode(e)||isSetNode(e),getGetSetNodes=(e=getAllNodes())=>e.filter((e=>isGetSetNode(e)));let lastTargetGetPos={},lastTargetSetPos={};const chainNode=(e=!1,t={})=>{var i,s,o,a,n;const l=getGetSetNodes();if(!l||l.length<1)return;const r=getSelectedNodes();if(0===r.length)return;let d=t.inputX||160,u=t.ouputX||60;if(r.filter((e=>isGetSetNode(e))).length>1)return;for(const c of r){let a=t.inputY||10,n=t.outputY||30;const l=[],p=c.id;if(c.graph){lastTargetGetPos[p]||(lastTargetGetPos[p]=[]);for(const e of c.inputs??[]){const t=e.link;if(!t)continue;const{origin_id:i,target_slot:s}=getLinkById(t),o=getNodeById(i);if(!o)continue;if(!isGetSetNode(o))continue;let n=c.getConnectionPos(!0,s);lastTargetGetPos[p][s]||(lastTargetGetPos[p][s]=n),!lastTargetGetPos[p]||lastTargetGetPos[p][s][1]===n[1]&&lastTargetGetPos[p][s][0]===n[0]||(d=n[0]-lastTargetGetPos[p][s][0],a=n[1]-lastTargetGetPos[p][s][1],o.pos=[o.pos[0]+d,o.pos[1]+a]),lastTargetGetPos[p][s]=n,l.push(o)}lastTargetSetPos[p]||(lastTargetSetPos[p]=[]);for(const e of c.outputs??[])if(e.links&&c.graph)for(const t of e.links){const{target_id:e,target_slot:s,origin_slot:o}=getLinkById(t),a=getNodeById(e);if(!a)continue;if(!isGetSetNode(a))continue;const r=null==(i=a.outputs)?void 0:i.links;if((null==r?void 0:r.length)>1)return;const d=c.getConnectionPos(!1,o);lastTargetSetPos[p][o]||(lastTargetSetPos[p][o]=d),!lastTargetSetPos[p]||lastTargetSetPos[p][o][0]===d[0]&&lastTargetSetPos[p][o][1]===d[1]||(u=d[0]-lastTargetSetPos[p][o][0],n=d[1]-lastTargetSetPos[p][o][1],a.pos=[a.pos[0]+u,a.pos[1]+n]),lastTargetSetPos[p][o]=d,l.push(a)}if(e&&1===r.length){const e=[c,...l];(null==(o=null==(s=c.graph)?void 0:s.list_of_graphcanvas)?void 0:o[0]).selectNodes(e)}}}const p=r[0];if(!p)return;(null==(n=null==(a=p.graph)?void 0:a.list_of_graphcanvas)?void 0:n[0]).setDirty(!0,!0)},setWidgetValue=(e,t,i=0)=>{e.widgets_values||(e.widgets_values=[]),e.widgets_values[i]=t,e.widgets[i].value=t},graphAdd=e=>graph.add(e),graphRemove=e=>graph.remove(e),traverseInputReroute=(e,t=0)=>{var i,s;if("Reroute"!==e.type)return[e,t];const o=e,a=null==(s=null==(i=o.inputs)?void 0:i[0])?void 0:s.link;if(!a)return[o,t];const n=getLinkById(a);if(!n)return[o,t];const l=getNodeById(n.origin_id);return l?(setTimeout((()=>{graphRemove(o)})),traverseInputReroute(l,n.origin_slot)):[o,t]},traverseOutputReroute=e=>{var t,i,s;if("Reroute"!==e.type)return e;const o=e,a=null==(i=null==(t=o.outputs)?void 0:t[0])?void 0:i.links;if(!a)return o;const n=a[0];if(!n)return o;const l=getLinkById(n);if(!l)return o;const r=getNodeById(l.target_id);return r?(1===(null==(s=o.outputs[0].links)?void 0:s.length)&&setTimeout((()=>{graphRemove(o)})),traverseOutputReroute(r)):o},convertLinkToGetSetNode=(e,t=!1)=>{var i,s,o,a,n,l,r,d,u,p;const{type:c}=e;if("*"===c)return;let{origin_id:A,target_id:g,origin_slot:h,target_slot:m}=e,f=getNodeById(A),y=getNodeById(g);if(!f||!y)return!1;if("Reroute"===f.type){let e=0;[f,e]=traverseInputReroute(f),A=null==f?void 0:f.id,h=e,void 0!==h&&-1!==h||(h=0)}if("Reroute"===y.type&&(y=traverseOutputReroute(y),g=null==y?void 0:y.id,m=null==y?void 0:y.inputs.findIndex((e=>e.type===c)),void 0!==m&&-1!==m||(m=0)),void 0===A||void 0===g||!f||!y)return!1;if(t&&(isGetSetNode(f)||isGetSetNode(y)))return!1;let v=formatVariables((null==(i=y.getInputInfo(m))?void 0:i.name)??c.toLowerCase());v||(v=formatVariables((null==(o=null==(s=null==f?void 0:f.outputs)?void 0:s[h])?void 0:o.name)??(null==(n=null==(a=null==f?void 0:f.outputs)?void 0:a[h])?void 0:n.type.toString())??v+`_from_${A}_to_${g}`));let _,w=!1,N=!1;if(isGetSetNode(f))v=getWidgetValue(f),N=!0;else{const e=null==(r=null==(l=f.outputs)?void 0:l[h])?void 0:r.links;if(e)for(const t of e){const e=getNodeById((null==(d=getLinkById(t))?void 0:d.target_id)??-1);e&&isGetSetNode(e)&&isSetNode(e)&&(v=getWidgetValue(e),N=!0)}if(!N){for(const e of getGetSetNodes()){if(!(v===getWidgetValue(e)&&isSetNode(e)))continue;const t=null==(u=e.inputs[0])?void 0:u.link;(null==(p=getLinkById(t))?void 0:p.origin_id)===f.id?N=!0:w=!0}w&&(v+=`_from_${A}_to_${g}`)}}if(!N){_=LiteGraph.createNode("easy setNode"),_.is_auto_link=!0;const e=f.getConnectionPos(!1,h);_.pos=[e[0]+20,e[1]],_.inputs[0].name=v,_.inputs[0].type=c,_.inputs[0].widget=y.inputs[m].widget,setWidgetValue(_,v),graphAdd(_),_.flags.collapsed=!0;let t=[];f.widgets?t=Object.values(f.widgets).map((e=>e.value)):f.widgets_values&&(t=JSON.parse(JSON.stringify(f.widgets_values))),f.connect(h,_,0),f.widgets_values=t,"PrimitiveNode"===f.type&&setTimeout((()=>{if(f){f.connect(h,_,0);for(const[e,i]of t.entries())setWidgetValue(f,i,e);null!==_&&_.setSize(_.computeSize())}}))}const b=LiteGraph.createNode("easy getNode"),S=y.getConnectionPos(!0,m);b.pos=[S[0]-150,S[1]],b.outputs[0].name=v,b.outputs[0].type=c,b.outputs[0].widget=y.inputs[m].widget,graphAdd(b),setWidgetValue(b,v),null===b||(b.flags.collapsed=!0,b.setSize(b.computeSize()),b.connect(0,y,m))},addNodesToGroup=(e,t=[],i=20)=>{var s,o,a,n,l,r,d,u,p,c;for(var A of(o=a=n=l=-1,r=d=u=p=-1,[e._nodes,t]))for(var g in A)r=(c=A[g]).pos[0],d=c.pos[1],u=c.pos[0]+c.size[0],p=c.pos[1]+c.size[1],"Reroute"!=c.type&&(d-=LiteGraph.NODE_TITLE_HEIGHT),(null==(s=c.flags)?void 0:s.collapsed)&&(p=d+LiteGraph.NODE_TITLE_HEIGHT,(null==c?void 0:c._collapsed_width)&&(u=r+Math.round(c._collapsed_width))),(-1==o||rn)&&(n=u),(-1==l||p>l)&&(l=p);a-=Math.round(1.4*e.font_size),e.pos=[o-i,a-i],e.size=[n-o+2*i,l-a+2*i]},setNodesSameSize=(e,t="width")=>{var i;const s=e[0],o="width"==t?0:1,a=null==(i=s.size)?void 0:i[o];a&&(e.forEach((e=>{e.size[o]=a})),LGraphCanvas.active_canvas.setDirty(!0,!0))},distributeNodes=(e,t="horizontal")=>{if(e.length<3)return;const i="horizontal"===t?0:1;e.sort(((e,t)=>e.pos[i]-t.pos[i]));const s=Math.min(...e.map((e=>e.pos[i]))),o=(Math.max(...e.map((e=>e.pos[i]+e.size[i])))-s-e.reduce(((e,t)=>e+t.size[i]),0))/(e.length-1);let a=s;e.forEach((e=>{e.pos[i]=a,a+=e.size[i]+o})),LGraphCanvas.active_canvas.setDirty(!0,!0)},CANVAS_IMAGE_PREVIEW_WIDGET="$$canvas-image-preview";function useNodeCanvasImagePreview(){const e=useImagePreviewWidget();return{showCanvasImagePreview:function(t){var i;(null==(i=t.imgs)?void 0:i.length)&&t.widgets&&(t.widgets.find((e=>e.name===CANVAS_IMAGE_PREVIEW_WIDGET))||e(t,{type:"IMAGE_PREVIEW",name:CANVAS_IMAGE_PREVIEW_WIDGET}))},removeCanvasImagePreview:function(e){var t,i;if(!e.widgets)return;const s=e.widgets.findIndex((e=>e.name===CANVAS_IMAGE_PREVIEW_WIDGET));s>-1&&(null==(i=(t=e.widgets[s]).onRemove)||i.call(t),e.widgets.splice(s,1))}}}const ANIM_PREVIEW_WIDGET="$$comfy_animation_preview";function useNodeVideoPreview(){return{showVideoPreview:function(e){var t;(null==(t=e.video)?void 0:t.length)&&e.widgets&&e.widgets.findIndex((e=>e.name===ANIM_PREVIEW_WIDGET))},removeVideoPreview:function(e){var t,i;if(!e.widgets)return;const s=e.widgets.findIndex((e=>"video-preview"===e.name));s>-1&&(null==(i=(t=e.widgets[s]).onRemove)||i.call(t),e.widgets.splice(s,1))}}}const VIDEO_NODE_PROPERTY="video_upload",getNodeData=e=>{var t;return null==(t=e.constructor)?void 0:t.nodeData},getInputSpecsFromData=e=>{if(!e)return[];const{required:t,optional:i}=e,s=[];if(t)for(const o of Object.values(t))s.push(o);if(i)for(const o of Object.values(i))s.push(o);return s},hasInputProperty=(e,t)=>{if(!e)return!1;const i=getNodeData(e);if(!(null==i?void 0:i.input))return!1;return getInputSpecsFromData(i.input).some((e=>{var i;return null==(i=null==e?void 0:e[1])?void 0:i[t]}))};function isVideoNode(e){return!!e&&(!!e.videoContainer||!!e.widgets&&hasInputProperty(e,VIDEO_NODE_PROPERTY))}const getNodeId=e=>null==e?void 0:e.id.toString(),getNodeOutputs=e=>app$1.nodeOutputs[getNodeId(e)],getNodePreviews=e=>app$1.nodePreviewImages[getNodeId(e)],getPreviewParam=e=>e.animatedImages?"":app$1.getPreviewFormatParam();function getNodeImageUrls(e){var t;const i=getNodePreviews(e),s=getNodeOutputs(e);if((null==i?void 0:i.length)&&!e.isOutputFinal)return i;if(!(null==(t=null==s?void 0:s.images)?void 0:t.length))return(null==i?void 0:i.length)?i:void 0;const o=app$1.getRandParam(),a=getPreviewParam(e);return s.images.map((e=>{const t=new URLSearchParams(e);return api.apiURL(`/view?${t}${a}${o}`)}))}const VIDEO_WIDGET_NAME="video-preview",VIDEO_DEFAULT_OPTIONS={playsInline:!0,controls:!0,loop:!0},MEDIA_LOAD_TIMEOUT=8192,MAX_RETRIES=1,VIDEO_PIXEL_OFFSET=64,createContainer=()=>{const e=document.createElement("div");return e.classList.add("comfy-img-preview"),e},createTimeout=e=>new Promise((t=>setTimeout((()=>t(null)),e))),getVideoRealURL=e=>api.apiURL(`/view?filename=${encodeURIComponent(e.filename)}&type=${e.type}&subfolder=${e.subfolder}&rand=${Math.random()}`),useNodePreview=(e,t)=>{const{loadElement:i,onLoaded:s,onFailedLoading:o}=t,a=async(e,t=0)=>{const s=await Promise.race([i(e),createTimeout(MEDIA_LOAD_TIMEOUT)]);return null===s&&t0?e.videos.map((e=>getVideoRealURL(e))):getNodeImageUrls(e);(null==n?void 0:n.length)&&((null==t?void 0:t.block)&&(e.isLoading=!0),(async e=>Promise.all(e.map((e=>a(e)))))(n).then((e=>{const t=e.filter((e=>null!==e));t.length&&(null==s||s(t))})).catch((()=>{null==o||o()})).finally((()=>{e.isLoading=!1})))}}},useNodeImage=e=>{e.previewMediaType="image";return useNodePreview(e,{loadElement:e=>new Promise((t=>{const i=new Image;i.onload=()=>t(i),i.onerror=()=>t(null),i.src=e})),onLoaded:t=>{e.imageIndex=null,e.imgs=t},onFailedLoading:()=>{e.imgs=void 0}})},useNodeVideo=e=>{e.previewMediaType="video";return useNodePreview(e,{loadElement:e=>new Promise((t=>{const i=document.createElement("video");Object.assign(i,VIDEO_DEFAULT_OPTIONS),i.onloadeddata=()=>t(i),i.onerror=()=>t(null),i.src=e})),onLoaded:t=>{const i=t[0];var s,o;i&&(e.videoContainer||(e.imgs&&(e.imgs=void 0),e.videoContainer=createContainer(),e.videoContainer.style.pointerEvents="auto",s=e.videoContainer,(null==(o=e.widgets)?void 0:o.some((e=>e.name===VIDEO_WIDGET_NAME)))||e.addDOMWidget(VIDEO_WIDGET_NAME,"video",s,{hideOnZoom:!1,serialize:!1})),e.videoContainer.replaceChildren(i),e.imageOffset=VIDEO_PIXEL_OFFSET)},onFailedLoading:()=>{e.videoContainer=void 0}})};function unsafeDrawBackground(e,t){var i;if(e.flags.collapsed)return;const{showCanvasImagePreview:s,removeCanvasImagePreview:o}=useNodeCanvasImagePreview(),{showVideoPreview:a,removeVideoPreview:n}=useNodeVideoPreview(),l=getNodeOutputs(e),r=getNodePreviews(e),d=l&&(e.images!==l.images||e.videos!==l.videos),u=r&&e.preview!==r;if(u&&(e.isOutputFinal=!1,e.isTwiceRendered&&(e.isTwiceRendered=!1),e.preview=r),d&&(e.isOutputFinal=!0,l.images&&(e.images=l.images),l.videos&&(e.videos=l.videos)),d||u){e.animatedImages=null==l?void 0:l.animated;const t=e.animatedImages&&l.images.some((e=>{var t;return null==(t=e.filename)?void 0:t.includes("webp")})),i=e.animatedImages&&!t||isVideoNode(this);d&&(null==l?void 0:l.videos)||i?useNodeVideo(e).showPreview():useNodeImage(e).showPreview()}if(e.id!=app$1.runningNodeId&&!e.isTwiceRendered){if(!e.isOutputFinal)return;e.videos?useNodeVideo(e.videos):useNodeImage(e).showPreview(),e.isTwiceRendered=!0}(null==(i=e.imgs)?void 0:i.length)&&(e.animatedImages||d&&(null==l?void 0:l.videos)?(o(e),a(e)):(n(e),s(e)))}const allow_widgets=["rescale_after_model","rescale","lora_name","upscale_method","image_output","add_noise","info","sampler_name","ckpt_B_name","ckpt_C_name","save_model","refiner_ckpt_name","num_loras","num_controlnet","mode","toggle","resolution","ratio","target_parameter","input_count","replace_count","downscale_mode","range_mode","text_combine_mode","input_mode","lora_count","ckpt_count","conditioning_mode","preset","use_tiled","use_batch","num_embeds","easing_mode","guider","scheduler","inpaint_mode","t5_type","rem_mode","encode","method"],ipa_presets=["LIGHT - SD1.5 only (low strength)","STANDARD (medium strength)","VIT-G (medium strength)","REGULAR - FLUX and SD3.5 only (high strength)","PLUS (high strength)","PLUS (kolors genernal)","PLUS FACE (portraits)","FULL FACE - SD1.5 only (portraits stronger)","COMPOSITION"],ipa_loras_presets=["FACEID","FACEID PLUS - SD1.5 only","FACEID PLUS V2","FACEID PLUS KOLORS"],ipa_faceid_presets=[...ipa_loras_presets,"FACEID PORTRAIT (style transfer)","FACEID PORTRAIT UNNORM - SDXL only (strong)"],has_seed_nodes=["easy seed","easy latentNoisy","easy wildcards","easy preSampling","easy preSamplingAdvanced","easy preSamplingNoiseIn","easy preSamplingSdTurbo","easy preSamplingCascade","easy preSamplingDynamicCFG","easy preSamplingLayerDiffusion","easy fullkSampler","easy fullCascadeKSampler"],loader_nodes=["easy fullLoader","easy a1111Loader","easy comfyLoader","easy hyditLoader","easy pixArtLoader"],samplers_nodes=["easy fullkSampler","easy kSampler","easy kSamplerCustom","easy kSamplerTiled","easy kSamplerLayerDiffusion","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerSDTurbo","easy fullCascadeKSampler","easy cascadeKSampler"],image_dynamic_nodes=["easy imageSize","easy imageSizeBySide","easy imageSizeByLongerSide","easy imageSizeShow","easy imageRatio","easy imagePixelPerfect"],loop_nodes=["easy forLoopStart","easy forLoopEnd","easy whileLoopStart","easy whileLoopEnd"],index_switch_nodes=["easy anythingIndexSwitch","easy imageIndexSwitch","easy textIndexSwitch","easy conditioningIndexSwitch"],inverse_switch_nodes=["easy anythingInversedSwitch"],change_slots_nodes=["easy loadImagesForLoop",...loop_nodes,...index_switch_nodes,...inverse_switch_nodes],value_names={"easy anythingInversedSwitch":"out","easy anythingIndexSwitch":"value","easy imageIndexSwitch":"image","easy textIndexSwitch":"text","easy conditioningIndexSwitch":"cond"};function toggleLogic(e,t){const i=e.comfyClass;let s=t.value;switch(t.name){case"range_mode":toggleWidget(e,getWidgetByName(e,"step"),"step"==s),toggleWidget(e,getWidgetByName(e,"num_steps"),"num_steps"==s),updateNodeHeight(e);break;case"text_combine_mode":toggleWidget(e,getWidgetByName(e,"replace_text"),"replace"==s);break;case"lora_name":["lora_model_strength","lora_clip_strength"].map((t=>toggleWidget(e,getWidgetByName(e,t),"None"!==s)));break;case"resolution":"自定义 x 自定义"===s&&(t.value="width x height (custom)"),["empty_latent_width","empty_latent_height","width","height"].map((t=>toggleWidget(e,getWidgetByName(e,t),"width x height (custom)"===s)));break;case"ratio":["empty_latent_width","empty_latent_height"].map((t=>toggleWidget(e,getWidgetByName(e,t),"custom"===s)));break;case"num_loras":var o=s+1,a=getWidgetByName(e,"mode").value;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),"simple"!==a)));for(let t=o;t<21;t++)["lora_"+t+"_name","lora_"+t+"_strength","lora_"+t+"_model_strength","lora_"+t+"_clip_strength"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"num_controlnet":o=s+1,a=getWidgetByName(e,"mode").value;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!0))),["start_percent_"+t,"end_percent_"+t].map((t=>toggleWidget(e,getWidgetByName(e,t),"simple"!==a)));for(let t=o;t<21;t++)["controlnet_"+t,"controlnet_"+t+"_strength","scale_soft_weight_"+t,"start_percent_"+t,"end_percent_"+t].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"mode":switch(null==e?void 0:e.comfyClass){case"easy loraStack":o=getWidgetByName(e,"num_loras").value+1,a=s;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),"simple"!==a)));updateNodeHeight(e);break;case"easy controlnetStack":o=getWidgetByName(e,"num_controlnet").value+1,a=s;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),"simple"!==a)));updateNodeHeight(e);break;case"easy icLightApply":a=s;["lighting","remove_bg"].map((t=>toggleWidget(e,getWidgetByName(e,t),"Foreground"===a))),toggleWidget(e,getWidgetByName(e,"source"),"Foreground"!==a),updateNodeHeight(e)}break;case"toggle":t.type="toggle",t.options={on:"Enabled",off:"Disabled"};break;case"t5_type":["clip_name","padding"].map((t=>toggleWidget(e,getWidgetByName(e,t),"sd3"==s))),["t5_name","device","dtype"].map((t=>toggleWidget(e,getWidgetByName(e,t),"t5v11"==s))),updateNodeHeight(e);break;case"preset":if("FLUX.1-dev"==s&&(t.value="REGULAR - FLUX and SD3.5 only (high strength)"),ipa_presets.includes(s)){let t=getWidgetByName(e,"use_tiled");toggleWidget(e,getWidgetByName(e,"lora_strength")),toggleWidget(e,getWidgetByName(e,"provider"),!!["REGULAR - FLUX and SD3.5 only (high strength)"].includes(s)),toggleWidget(e,getWidgetByName(e,"weight_faceidv2")),toggleWidget(e,getWidgetByName(e,"weight_kolors")),toggleWidget(e,getWidgetByName(e,"use_tiled"),!0),toggleWidget(e,getWidgetByName(e,"sharpening"),t&&t.value)}else ipa_faceid_presets.includes(s)&&(toggleWidget(e,getWidgetByName(e,"weight_faceidv2"),!!["FACEID PLUS V2","FACEID PLUS KOLORS"].includes(s)),toggleWidget(e,getWidgetByName(e,"weight_kolors"),!!["FACEID PLUS KOLORS"].includes(t.value)),["FACEID PLUS KOLORS","FACEID PORTRAIT (style transfer)","FACEID PORTRAIT UNNORM - SDXL only (strong)"].includes(s)?toggleWidget(e,getWidgetByName(e,"lora_strength"),!1):toggleWidget(e,getWidgetByName(e,"lora_strength"),!0),toggleWidget(e,getWidgetByName(e,"provider"),!0),toggleWidget(e,getWidgetByName(e,"use_tiled")),toggleWidget(e,getWidgetByName(e,"sharpening")));updateNodeHeight(e);break;case"use_tiled":toggleWidget(e,getWidgetByName(e,"sharpening"),!!s),updateNodeHeight(e);break;case"num_embeds":o=s+1;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!1)));break;case"brushnet_random":case"brushnet_segmentation":["dtype","scale","start_at","end_at"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0))),["fitting","function"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));break;case"powerpaint":["dtype","fitting","function","scale","start_at","end_at"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0)))}updateNodeHeight(e);break;case"encode":toggleWidget(e,getWidgetByName(e,"noise_mask"),!!["inpaint_model_conditioning","different_diffusion"].includes(s)),updateNodeHeight(e);break;case"image_output":toggleWidget(e,getWidgetByName(e,"link_id"),!!["Sender","Sender&Save"].includes(s)),toggleWidget(e,getWidgetByName(e,"decode_vae_name"),!!["Hide","Hide&Save"].includes(s)),["save_prefix","output_path","embed_workflow","number_padding","overwrite_existing"].map((t=>toggleWidget(e,getWidgetByName(e,t),!!["Save","Hide&Save","Sender&Save"].includes(s))));break;case"add_noise":var n=getWidgetByName(e,"control_before_generate"),l=getWidgetByName(e,"control_after_generate")||n;"disable"===s?(toggleWidget(e,getWidgetByName(e,"seed")),l&&(l.last_value=l.value,l.value="fixed",toggleWidget(e,l))):("enable"===s&&(t.value="enable (CPU)"),toggleWidget(e,getWidgetByName(e,"seed"),!0),l&&((null==l?void 0:l.last_value)&&(l.value=l.last_value),toggleWidget(e,l,!0))),updateNodeHeight(e);break;case"guider":switch(s){case"Basic":case"IP2P+Basic":["cfg_negative"].map((t=>toggleWidget(e,getWidgetByName(e,t))));break;case"CFG":case"IP2P+CFG":toggleWidget(e,getWidgetByName(e,"cfg"),!0),toggleWidget(e,getWidgetByName(e,"cfg_negative"));break;case"DualCFG":case"IP2P+DualCFG":["cfg","cfg_negative"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0)))}updateNodeHeight(e);break;case"scheduler":"easy preSamplingCustom"==i&&(["karrasADV","exponentialADV","polyExponential"].includes(s)?(["sigma_max","sigma_min"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0))),["denoise","beta_d","beta_min","eps_s","coeff"].map((t=>toggleWidget(e,getWidgetByName(e,t))),!1),toggleWidget(e,getWidgetByName(e,"rho"),"exponentialADV"!=s)):"vp"==s?(["sigma_max","sigma_min","denoise","rho","coeff"].map((t=>toggleWidget(e,getWidgetByName(e,t)))),["beta_d","beta_min","eps_s"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0)))):(["sigma_max","sigma_min","beta_d","beta_min","eps_s","rho"].map((t=>toggleWidget(e,getWidgetByName(e,t)))),toggleWidget(e,getWidgetByName(e,"coeff"),"gits"==s),toggleWidget(e,getWidgetByName(e,"denoise"),!0)),updateNodeHeight(e));break;case"conditioning_mode":["replace","concat","combine"].includes(s)?["average_strength","old_cond_start","old_cond_end","new_cond_start","new_cond_end"].map((t=>toggleWidget(e,getWidgetByName(e,t)))):"average"==s?(toggleWidget(e,getWidgetByName(e,"average_strength"),!0),["old_cond_start","old_cond_end","new_cond_start","new_cond_end"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)))):"timestep"==s&&(["average_strength"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1))),["old_cond_start","old_cond_end","new_cond_start","new_cond_end"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0))));break;case"rescale":getWidgetByName(e,"rescale_after_model").value,toggleWidget(e,getWidgetByName(e,"width"),"to Width/Height"===s),toggleWidget(e,getWidgetByName(e,"height"),"to Width/Height"===s),toggleWidget(e,getWidgetByName(e,"percent"),"by percentage"===s),toggleWidget(e,getWidgetByName(e,"longer_side"),"to longer side - maintain aspect"===s),updateNodeHeight(e);break;case"upscale_method":["factor","crop"].map((t=>toggleWidget(e,getWidgetByName(e,t),"None"!==s)));break;case"target_parameter":switch(i){case"easy XYInputs: Steps":["first_step","last_step"].map((t=>toggleWidget(e,getWidgetByName(e,t),"steps"==s))),["first_start_step","last_start_step"].map((t=>toggleWidget(e,getWidgetByName(e,t),"start_at_step"==s))),["first_end_step","last_end_step"].map((t=>toggleWidget(e,getWidgetByName(e,t),"end_at_step"==s)));break;case"easy XYInputs: Sampler/Scheduler":let t=getWidgetByName(e,"input_count").value+1;for(let i=0;itoggleWidget(e,getWidgetByName(e,t),"strength"==s))),["first_start_percent","last_start_percent"].map((t=>toggleWidget(e,getWidgetByName(e,t),"start_percent"==s))),["first_end_percent","last_end_percent"].map((t=>toggleWidget(e,getWidgetByName(e,t),"end_percent"==s))),["strength","start_percent","end_percent"].map((t=>toggleWidget(e,getWidgetByName(e,t),s!=t))),updateNodeHeight(e)}case"replace_count":o=s+1;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!r)));for(let t=o;t<11;t++)["lora_name_"+t,"model_str_"+t,"clip_str_"+t].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"ckpt_count":o=s+1;var d=-1!=getWidgetByName(e,"input_mode").value.indexOf("ClipSkip"),u=-1!=getWidgetByName(e,"input_mode").value.indexOf("VAE");for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"input_count":o=s+1;var p=getWidgetByName(e,"target_parameter").value;for(let t=0;ttoggleWidget(e,getWidgetByName(e,i),!!t)));["model_strength","clip_strength"].map((i=>toggleWidget(e,getWidgetByName(e,i),!t)));break;case"easy XYInputs: Checkpoint":o=getWidgetByName(e,"ckpt_count").value+1,d=-1!=getWidgetByName(e,"input_mode").value.indexOf("ClipSkip"),u=-1!=getWidgetByName(e,"input_mode").value.indexOf("VAE");for(let i=0;ie.name===t));if(-1!==e){for(let t=e;t{var e;const t=this.computeSize();t[0]"info"===e.name));if(-1!==e&&this.widgets[e]){this.widgets[e].value=t}}requestAnimationFrame((()=>{var e;const t=this.computeSize();t[0]"prompt"==e.name));this.addWidget("button","get values from COMBO link","",(()=>{var t,s;const o=(null==(s=null==(t=this.outputs[1])?void 0:t.links)?void 0:s.length)>0?this.outputs[1].links[0]:null,a=i.graph._nodes.find((e=>{var t;return null==(t=e.inputs)?void 0:t.find((e=>e.link==o))}));if(o&&a){const t=a.inputs.find((e=>e.link==o)).widget.name,i=a.widgets.find((e=>e.name==t));let s=(null==i?void 0:i.options.values)||null;s&&(s=s.join("\n"),e.value=s)}else toast.error($t("No COMBO link"),3e3)}),{serialize:!1})}),loader_nodes.includes(t.name)){let t=function(e){var t="";for(let i=0;ie.name===t+"_prompt")),s="comfy-multiline-input wildcard_"+t+"_"+this.id.toString();if(-1==i&&e){const i=document.createElement("textarea");i.className=s,i.placeholder="Wildcard Prompt ("+t+")";const o=this.addDOMWidget(t+"_prompt","customtext",i,{getValue:e=>i.value,setValue(e){i.value=e},serialize:!1});o.inputEl=i,o.inputEl.readOnly=!0,i.addEventListener("input",(()=>{var e;null==(e=o.callback)||e.call(o,o.value)})),o.value=e}else if(this.widgets[i])if(e){this.widgets[i].value=e}else{this.widgets.splice(i,1);const e=document.getElementsByClassName(s);e&&e[0]&&e[0].remove()}}};e.prototype.onExecuted=function(e){null==r||r.apply(this,arguments);const s=t(e.positive),o=t(e.negative);i.call(this,s,"positive"),i.call(this,o,"negative")}}if(["easy sv3dLoader"].includes(t.name)){let t=function(e,t,i){switch(e){case"azimuth":return i.readOnly=!0,i.style.opacity=.6,"0:(0.0,0.0)"+(t>1?`\n${t-1}:(360.0,0.0)`:"");case"elevation":return i.readOnly=!0,i.style.opacity=.6,"0:(-90.0,0.0)"+(t>1?`\n${t-1}:(90.0,0.0)`:"");case"custom":return i.readOnly=!1,i.style.opacity=1,"0:(0.0,0.0)\n9:(180.0,0.0)\n20:(360.0,0.0)"}};e.prototype.onNodeCreated=async function(){n&&n.apply(this,[]);const e=this.widgets.find((e=>"easing_mode"==e.name)),i=this.widgets.find((e=>"batch_size"==e.name)),s=this.widgets.find((e=>"scheduler"==e.name));setTimeout((o=>{s.value||(s.value=t(e.value,i.value,s.inputEl))}),1),e.callback=e=>{s.value=t(e,i.value,s.inputEl)},i.callback=i=>{s.value=t(e.value,i,s.inputEl)}}}if(has_seed_nodes.includes(o)&&(e.prototype.onNodeCreated=async function(){n&&n.apply(this,[]);const e=this.widgets.find((e=>["seed_num","seed"].includes(e.name))),s=this.widgets.find((e=>["control before generate","control after generate","control_before_generate","control_after_generate"].includes(e.name)));if("easy seed"==t.name&&s){const t=this.addWidget("button","🎲 Manual Random Seed",null,(t=>{"fixed"!=s.value&&(s.value="fixed"),e.value=Math.floor(Math.random()*MAX_SEED_NUM),i.queuePrompt(0,1)}),{serialize:!1});e.linkedWidgets=[t,s]}},e.prototype.onAdded=async function(){a&&a.apply(this,[]);const e=this.widgets.find((e=>["seed_num","seed"].includes(e.name))),t=this.widgets.find((e=>["control before generate","control after generate","control_before_generate","control_after_generate"].includes(e.name)));t&&setTimeout((i=>{["control before generate","control_before_generate"].includes(t.name)&&0===e.value&&(e.value=Math.floor(Math.random()*MAX_SEED_NUM))}),1)}),"easy convertAnything"==o&&(e.prototype.onNodeCreated=async function(){n&&n.apply(this,[]);const e=this.widgets.find((e=>"output_type"==e.name)),t=t=>{this.outputs[0].type=e.value.toUpperCase(),this.outputs[0].name=e.value,this.outputs[0].label=e.value};setTimeout((e=>t()),10),e.callback=e=>t()}),"easy imageInsetCrop"==o){let t=function(e){const t=e.widgets[0];for(let i=1;i<=4;i++)"Pixels"===t.value?(e.widgets[i].options.step=80,void 0!==e.widgets[i].options.step2&&(e.widgets[i].options.step2=8),e.widgets[i].options.max=8192):(e.widgets[i].options.step=10,void 0!==e.widgets[i].options.step2&&(e.widgets[i].options.step2=1),e.widgets[i].options.max=99)};e.prototype.onAdded=async function(e){const i=this.widgets[0];let s=i.callback;i.callback=(...e)=>{t(this),s&&s.apply(i,[...e])},setTimeout((e=>{t(this)}),1)}}if(change_slots_nodes.includes(o)){const t=e=>{switch(o){case"easy forLoopStart":case"easy whileLoopStart":return 0;case"easy forLoopEnd":case"easy whileLoopEnd":return 1}},i=e=>{switch(o){case"easy forLoopStart":return 2;case"easy forLoopEnd":case"easy whileLoopEnd":return 0;case"easy whileLoopStart":return 1}};e.prototype.onNodeCreated=async function(){if("easy loadImagesForLoop"==o&&(this.outputs[0].shape=5),loop_nodes.includes(o)){const e=this.inputs.findIndex((e=>"flow"===e.name)),s=this.outputs.findIndex((e=>"flow"===e.name));-1!==e&&(this.inputs[e].shape=5),-1!==s&&(this.outputs[s].shape=5),this.inputs=this.inputs.filter(((e,i)=>i<=t()||e.widget)),this.outputs=this.outputs.filter(((e,t)=>t<=i())),updateNodeHeight(this)}return index_switch_nodes.includes(o)&&("easy textIndexSwitch"==o&&(this.widgets=this.widgets.filter(((e,t)=>t<=2))),this.inputs=this.inputs.filter(((e,t)=>t<=1||e.widget)),updateNodeHeight(this)),null==n?void 0:n.apply(this,arguments)},e.prototype.onConnectionsChange=function(e,s,a,n){var l,r;if(n)if(1==e){let e=this.inputs.every((e=>null!==e.link||e.widget)),i=this.inputs.filter((e=>!["condition","index","total"].includes(e.name)));if(loop_nodes.includes(o)){if(e){if(i.length>=20)return void toast.warn($t("The maximum number of inputs is 20"));let e=i[i.length-1],t=parseInt(e.name.split("initial_value")[1])+1;if(this.inputs.find((e=>e.name==="initial_value"+t)))return;let s="initial_value"+t,o="value"+t;this.addInput(s,"*"),this.addOutput(o,"*")}else if(!a){const e=t();let i=this.inputs.findLastIndex((e=>e.link));if(s>=e&&(-1===i||s>=i)){let e=this.inputs[s];if(!e.name||["condition","total"].includes(e.name))return;let t=parseInt(e.name.split("initial_value")[1])+1,i=this.inputs.findIndex((e=>e.name==="initial_value"+t)),o=this.outputs.findIndex((e=>e.name==="value"+t));-1!==i&&this.removeInput(i),-1!==o&&this.removeOutput(o)}}}else if(index_switch_nodes.includes(o))if(e){if(i.length>=20)return void toast.warn($t("The maximum number of inputs is 20"));let e=value_names[o]+i.length;this.addInput(e,"*")}else a||s==this.inputs.length-2&&this.removeInput(s+1)}else if(2==e){let e=this.outputs.filter((e=>!["flow","index"].includes(e.name))),t=e.every((e=>{var t;return(null==(t=e.links)?void 0:t.length)>0}));if(loop_nodes.includes(o)){if(t){if(e.length>=20)return void toast.warn($t("The maximum number of outputs is 20"));let t=e[e.length-1],i=parseInt(t.name.split("value")[1])+1;if(this.inputs.find((e=>e.name==="initial_value"+i)))return;if(this.outputs.find((e=>e.name==="value"+i)))return;let s="initial_value"+i,o="value"+i;this.addInput(s,"*"),this.addOutput(o,"*")}else if(!a){const e=i();let t=n.origin_slot,s=this.outputs.findLastIndex((e=>{var t;return(null==(t=e.links)?void 0:t.length)>0}));if(t>=e&&(-1===s||t>=s)){let e=this.outputs[t];if(!e.name||["flow","index"].includes(e.name))return;let i=parseInt(e.name.split("value")[1])+1,s=this.inputs.findIndex((e=>e.name==="initial_value"+i)),o=this.outputs.findIndex((e=>e.name==="value"+i));if(-1!==s&&(null==(l=this.inputs[s])?void 0:l.link))return;-1!==s&&this.removeInput(s),-1!==o&&this.removeOutput(o)}}}else if(inverse_switch_nodes.includes(o))if(t){if(e.length>=20)return void toast.warn($t("The maximum number of outputs is 20"));let t=value_names[o]+e.length;this.addOutput(t,"*")}else if(!a){let t=n.origin_slot;t==this.outputs.length-2&&0==(null==(r=e[t].links)?void 0:r.length)&&this.removeOutput(t+1)}}}}if(["easy fluxLoader","easy fullLoader"].includes(o)&&(e.prototype.onConnectionsChange=async function(e,t){d&&d.apply(this,[]);const i=this.inputs.find((e=>"model_override"===e.name)),s=this.inputs.find((e=>"vae_override"===e.name));let o=getWidgetByName(this,"ckpt_name"),a=getWidgetByName(this,"vae_name");if((null==i?void 0:i.link)&&0==t){const e=(null==o?void 0:o.options.values)||[];setTimeout((t=>{this.widgets[0].value=(null==e?void 0:e[0])||"None",toggleWidget(this,o,!(null==i?void 0:i.link))}),1)}else toggleWidget(this,o,!(null==i?void 0:i.link));if(!(null==s?void 0:s.link)||1!=t&&2!=t)toggleWidget(this,a,!(null==s?void 0:s.link));else{let e=this.widgets.findIndex((e=>"vae_name"==e.name));setTimeout((t=>{this.widgets[e].value="Baked VAE",toggleWidget(this,a,!(null==s?void 0:s.link))}),1)}}),samplers_nodes.includes(o)||-1!==o.indexOf("workflow")){const i=(null==(s=null==t?void 0:t.input)?void 0:s.required)||{};if(!i.image_output&&!i["图像输出"]&&!i["视频输出"])return;e.prototype.onDrawBackground=function(e){try{unsafeDrawBackground(this,e)}catch(t){}}}},nodeCreated(e){if(e.comfyClass.startsWith("easy ")){if(e.widgets)for(const i of e.widgets){if(!allow_widgets.includes(i.name))continue;let t=i.value;toggleLogic(e,i),Object.defineProperty(i,"value",{get:e=>t,set(s){s!==t&&(t=s,requestAnimationFrame((t=>{toggleLogic(e,i)})))}})}const t=e.comfyClass;if("easy preDetailerFix"==t){const t=e.widgets.find((e=>"customtext"===e.type));if(!t)return;t.dynamicPrompts=!1,t.inputEl.placeholder="wildcard spec: if kept empty, this option will be ignored",t.serializeValue=()=>t.value}if(["easy wildcards","easy wildcardsMatrix"].includes(t)){const t=e.widgets.find((e=>"text"==e.name));let i=1;Object.defineProperty(e.widgets[i],"value",{set:e=>{if("Select the LoRA to add to the text"!=e){let i=e;i.endsWith(".safetensors")&&(i=i.slice(0,-12)),t.value+=``}},get:e=>"Select the LoRA to add to the text"}),Object.defineProperty(e.widgets[i+1],"value",{set:e=>{"Select the Wildcard to add to the text"!=e&&(""!=t.value&&(t.value+=", "),t.value+=e)},get:e=>"Select the Wildcard to add to the text"}),e.widgets[i].serializeValue=e=>"Select the LoRA to add to the text",e.widgets[i+1].serializeValue=e=>"Select the Wildcard to add to the text"}if("easy prompt"==t){const t=e.widgets.find((e=>"text"==e.name));let i=1;Object.defineProperty(e.widgets[i],"value",{set:s=>{var o,a;"Select the prefix to add to the text"!=s&&(null==(a=null==(o=e.widgets[i])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=" "+s)},get:e=>"Select the prefix to add to the text"}),Object.defineProperty(e.widgets[i+1],"value",{set:s=>{var o,a;"👤Select the subject add to the text"!=s&&(null==(a=null==(o=e.widgets[i+1])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=" "+s)},get:e=>"👤Select the subject add to the text"}),Object.defineProperty(e.widgets[i+2],"value",{set:s=>{var o,a;"🎬Select the action add to the text"!=s&&(null==(a=null==(o=e.widgets[i+2])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"🎬Select the action add to the text"}),Object.defineProperty(e.widgets[i+3],"value",{set:s=>{var o,a;"👚Select the clothes add to the text"!=s&&(null==(a=null==(o=e.widgets[i+3])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"👚Select the clothes add to the text"}),Object.defineProperty(e.widgets[i+4],"value",{set:s=>{var o,a;"☀️Select the illumination environment add to the text"!=s&&(null==(a=null==(o=e.widgets[i+4])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"☀️Select the illumination environment add to the text"}),Object.defineProperty(e.widgets[i+5],"value",{set:s=>{var o,a;"🎞️Select the background add to the text"!=s&&(null==(a=null==(o=e.widgets[i+5])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=" "+s)},get:e=>"🎞️Select the background add to the text"}),Object.defineProperty(e.widgets[i+6],"value",{set:s=>{var o,a;"🔞Select the nsfw add to the text"!=s&&(null==(a=null==(o=e.widgets[i+6])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"🔞Select the nsfw add to the text"}),e.widgets[i].serializeValue=e=>"Select the prefix add to the text",e.widgets[i+1].serializeValue=e=>"👤Select the subject add to the text",e.widgets[i+2].serializeValue=e=>"🎬Select the action add to the text",e.widgets[i+3].serializeValue=e=>"👚Select the clothes add to the text",e.widgets[i+4].serializeValue=e=>"☀️Select the illumination environment add to the text",e.widgets[i+5].serializeValue=e=>"🎞️Select the background add to the text",e.widgets[i+6].serializeValue=e=>"🔞Select the nsfw add to the text"}if(image_dynamic_nodes.includes(t)){const t=document.createElement("textarea");t.className="comfy-multiline-input",t.readOnly=!0;const i=e.addDOMWidget("info","customtext",t,{getValue:e=>t.value,setValue:e=>t.value=e,serialize:!1});i.inputEl=t,t.addEventListener("input",(()=>{var e;null==(e=i.callback)||e.call(i,i.value)}))}}}});const LGraphNode$1=LiteGraph.LGraphNode;app$1.registerExtension({name:"easy bookmark",registerCustomNodes(){class e extends LGraphNode$1{constructor(){super("🔖"),__publicField(this,"type","easy bookmark"),__publicField(this,"title","🔖"),__publicField(this,"slot_start_y",-20),__publicField(this,"___collapsed_width",0),__publicField(this,"isVirtualNode",!0),__publicField(this,"serialize_widgets",!0),__publicField(this,"keypressBound",null),this.addWidget("text","shortcut_key","1",(e=>{""!==(e=e.trim()[0]||"1")&&(this.title="🔖 "+e)}),{y:8}),this.addWidget("number","zoom",1,(e=>{}),{y:8+LiteGraph.NODE_WIDGET_HEIGHT+4,max:2,min:.5,precision:2}),this.keypressBound=this.onKeypress.bind(this)}get _collapsed_width(){return this.___collapsed_width}set _collapsed_width(e){const t=app$1.canvas,i=t.canvas.getContext("2d");if(i){const e=i.font;i.font=t.title_text_font,this.___collapsed_width=40+i.measureText(this.title).width,i.font=e}}onAdded(){setTimeout((e=>{const t=this.widgets[0].value;t&&(this.title="🔖 "+t)}),1),window.addEventListener("keydown",this.keypressBound)}onRemoved(){window.removeEventListener("keydown",this.keypressBound)}onKeypress(e){const t=e.target;["input","textarea"].includes(t.localName)||this.widgets[0]&&e.key.toLocaleLowerCase()===this.widgets[0].value.toLocaleLowerCase()&&this.canvasToBookmark()}canvasToBookmark(){var e,t;const i=app$1.canvas;(null==(e=null==i?void 0:i.ds)?void 0:e.offset)&&(i.ds.offset[0]=16-this.pos[0],i.ds.offset[1]=40-this.pos[1]),null!=(null==(t=null==i?void 0:i.ds)?void 0:t.scale)&&(i.ds.scale=Number(this.widgets[1].value||1)),i.setDirty(!0,!0)}}LiteGraph.registerNodeType("easy bookmark",Object.assign(e,{title:"Bookmark 🔖"})),e.category="EasyUse/Util"}}),app$1.registerExtension({name:"Comfy.EasyUse.ChainNode",init(){app$1.canvas._mousemove_callback=e=>{getSetting("EasyUse.Nodes.ChainGetSet",null)&&chainNode()};const e=LGraphCanvas.prototype.showLinkMenu;LGraphCanvas.prototype.showLinkMenu=useTryCatchCallback(e,(function(t,i){return i.shiftKey?(convertLinkToGetSetNode(t),!1):(e.apply(this,[t,i]),!1)}))}});const cleanVRAM=async()=>{try{const{Running:e,Pending:t}=await api.getQueue();if(e.length>0||t.length>0)return void toast.error($t("Clean Failed")+":"+$t("Please stop all running tasks before cleaning GPU"));200==(await api.fetchApi("/easyuse/cleangpu",{method:"POST"})).status?toast.success($t("Clean SuccessFully")):toast.error($t("Clean Failed"))}catch(e){}},reboot=async()=>{if(confirm($t("Are you sure you'd like to reboot the server?")))try{api.fetchApi("/easyuse/reboot")}catch(e){}};let modelsList={},isPyssssNode=!1;function serializeParentNodeMenu(e){let t=[],i=[];return e.forEach((e=>{(null==e?void 0:e.value)&&COMFYUI_NODE_BASIC_CATEGORY.includes(e.value.split("/")[0])?t.push(e):i.push(e)})),[{title:$t("ComfyUI Basic"),is_category_title:!0},...t,{title:$t("Others A~Z"),is_category_title:!0},...i.sort(((e,t)=>e.content.localeCompare(t.content)))]}function onMenuAdd(e,t,i,s,o){var a=LGraphCanvas.active_canvas,n=a.getCanvasWindow(),l=a.graph;if(l)return function e(t,s){var r=LiteGraph.getNodeTypesCategories(a.filter||l.filter).filter((function(e){return e.startsWith(t)})),d=[];r.map((function(i){if(i){var s=new RegExp("^("+t+")"),o=i.replace(s,"").split("/")[0],a=""===t?o+"/":t+o+"/",n=o;-1!=n.indexOf("::")&&(n=n.split("::")[1]),-1===d.findIndex((function(e){return e.value===a}))&&d.push({value:a,content:n,has_submenu:!0,callback:function(t,i,s,o){e(t.value,o)}})}})),LiteGraph.getNodeTypesInCategory(t.slice(0,-1),a.filter||l.filter).map((function(e){if(!e.skip_list){var t={value:e.type,content:e.title,has_submenu:!1,callback:function(e,t,i,s){var n=s.getFirstEvent();a.graph.beforeChange();var l=LiteGraph.createNode(e.value);l&&(l.pos=a.convertEventToCanvasOffset(n),a.graph.add(l)),o&&o(l),a.graph.afterChange()}};d.push(t)}}));const u=getSetting("EasyUse.ContextMenu.NodesSort",null);""===t&&u&&(d=serializeParentNodeMenu(d)),new LiteGraph.ContextMenu(d,{event:i,parentMenu:s},n)}("",s),!1}function encodeRFC3986URIComponent(e){try{return encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`))}catch(t){return e}}function contextMenuAddItem(e,t,i){var s=this;i=i||{};var o=document.createElement("div");o.className="litemenu-entry submenu";var a=!1;function n(e){var t=this.value,o=!0;(s.current_submenu&&s.current_submenu.close(e),i.callback)&&(!0===i.callback.call(this,t,i,e,s,i.node)&&(o=!1));if(t){if(t.callback&&!i.ignore_item_callbacks&&!0!==t.disabled)!0===t.callback.call(this,t,i,e,s,i.extra)&&(o=!1);if(t.submenu){if(!t.submenu.options)throw"ContextMenu submenu needs options";new s.constructor(t.submenu.options,{callback:t.submenu.callback,event:e,parentMenu:s,ignore_item_callbacks:t.submenu.ignore_item_callbacks,title:t.submenu.title,extra:t.submenu.extra,autoopen:i.autoopen}),o=!1}}o&&!s.lock&&s.close()}return null===t?o.classList.add("separator"):t.is_category_title?(o.classList.remove("litemenu-entry"),o.classList.remove("submenu"),o.classList.add("litemenu-title"),o.innerHTML=t.title):(o.innerHTML=t&&t.title?t.title:e,o.value=t,t&&(t.disabled&&(a=!0,o.classList.add("disabled")),(t.submenu||t.has_submenu)&&o.classList.add("has_submenu")),"function"==typeof t?(o.dataset.value=e,o.onclick_callback=t):o.dataset.value=t,t.className&&(o.className+=" "+t.className)),o&&(null==t?void 0:t.thumbnail)&&(o.addEventListener("mouseenter",showModelsThumbnail(o,t,this.root),{passive:!0}),o.addEventListener("mouseleave",closeModelsThumbnail(),{passive:!0}),o.addEventListener("click",closeModelsThumbnail(),{passive:!0})),this.root.appendChild(o),a||o.addEventListener("click",n),!a&&i.autoopen&&LiteGraph.pointerListenerAdd(o,"enter",(function(e){var t=this.value;if(!t||!t.has_submenu)return;n.call(this,e)})),o}function getExtensions(e){return null==e?void 0:e.substring(e.lastIndexOf(".")+1)}app$1.registerExtension({name:"Comfy.EasyUse.ContextMenu",async setup(){LGraphCanvas.onMenuAdd=onMenuAdd,getModelsList();const e=LiteGraph.ContextMenu;LiteGraph.ContextMenu=function(t,i){if(!(null==i?void 0:i.callback)||t.some((e=>"string"!=typeof e))){if(i.parentMenu);else if(i.extra);else if(i.scale);else{const e=getSetting("EasyUse.ContextMenu.QuickOptions",null);if(i.hasOwnProperty("extra")&&"Disable"!==e){if("At the forefront"==e?t.unshift(null):t.push(null),isLocalNetwork(window.location.host)){const i={content:`${$t("Reboot ComfyUI")}`,callback:e=>reboot()};"At the forefront"==e?t.unshift(i):t.push(i)}const i=getSetting("EasyUse.Hotkeys.cleanVRAMUsed",null)?"("+normalize("Shift+r")+")":"",s={content:`${$t("Cleanup Of VRAM Usage")} ${i}`,callback:e=>cleanVRAM()};"At the forefront"==e?t.unshift(s):t.push(s);const o=getSetting("EasyUse.Hotkeys.toggleNodesMap",null)?"("+normalize("Shift+m")+")":"",a={content:`${$t("Nodes Map")} ${o}`,callback:e=>{var t,i,s;const o=(null==(t=app$1.extensionManager)?void 0:t.sidebarTab)||app$1.extensionManager,a=(null==(i=app$1.extensionManager.sidebarTab)?void 0:i.activeSidebarTabId)||(null==(s=app$1.extensionManager)?void 0:s.activeSidebarTab);o.activeSidebarTabId=a==NODES_MAP_ID?null:NODES_MAP_ID}};"At the forefront"==e?t.unshift(a):t.push(a)}}return e.apply(this,[...arguments])}{const s=setComboOptions(t,i);return s?e.call(this,s,i):e.apply(this,[...arguments])}},LiteGraph.ContextMenu.prototype=e.prototype,getSetting("EasyUse.ContextMenu.NodesSort")&&(LiteGraph.ContextMenu.prototype.addItem=contextMenuAddItem),document.getElementById("graph-canvas").addEventListener("mouseenter",(e=>{setTimeout((e=>{const t=document.getElementById("easyuse-model-thumbnail");t&&0!=t.style.opacity&&(t.style.display="none",t.style.opacity=0,t.style.left="0px",t.style.top="0px")}),100)}))},async beforeRegisterNodeDef(e,t,i){const s=e.prototype.onNodeCreated;["CheckpointLoader|pysssss","LoraLoader|pysssss"].includes(t.name)&&(e.prototype.onNodeCreated=async function(){s&&s.apply(this,[]);let e=getWidgetByName(this,"lora_name")||getWidgetByName(this,"ckpt_name");if(e){let t=e.onClick;e.onClick=function(e){return isPyssssNode=!0,setTimeout((e=>{isPyssssNode=!1}),500),t.call(this,e)}}})}});const calculateImagePosition=(e,t,i)=>{const{x:s}=e.getBoundingClientRect();let{top:o,left:a}=t;const{width:n,height:l}=i;s<=n&&(a+=t.width);return t.top<=l||(o=l),{left:a,top:o}},getModelsList=async()=>{["checkpoints","loras","diffusion_models"].map((async e=>{const t=await api.getModels(e);(null==t?void 0:t.length)>0&&t.map((t=>{modelsList[t.name]={folder:e,pathIndex:t.pathIndex}}))}))},showModelsThumbnail=(e,t,i)=>s=>{var o;const a=t=>{setTimeout((s=>{const o=i.getBoundingClientRect();if(!o)return;const a=document.body.getBoundingClientRect();if(!a)return;const{left:n,top:l}=calculateImagePosition(e,o,a),r=document.getElementById("easyuse-model-thumbnail");r.src=t,r.style.left=`${n}px`,r.style.top=`${l}px`,r.style.display="block",r.style.opacity=1,r.onerror=e=>{r.src=NO_PREVIEW_IMAGE}}),10)};if(null==(o=null==modelsList?void 0:modelsList[t.fullName])?void 0:o.img){let e=modelsList[t.fullName].img;a("no_preview_image"==e?NO_PREVIEW_IMAGE:e.src)}else{let e=new Image;e.src=t.thumbnail,e.onload=i=>{modelsList[t.fullName].img=e,a(t.thumbnail)},e.onerror=i=>{e=null,modelsList[t.fullName].img="no_preview_image",a(NO_PREVIEW_IMAGE)}}},closeModelsThumbnail=()=>e=>{const t=document.getElementById("easyuse-model-thumbnail");t&&0!=t.style.opacity&&(t.style.display="none",t.style.opacity=0,t.style.left="0px",t.style.top="0px")};function setComboOptions(e,t){const i=getSetting("EasyUse.ContextMenu.ModelsThumbnails",null),s=getSetting("EasyUse.ContextMenu.SubDirectories",null);if(!i&&!s)return null;if(isPyssssNode)return null;const o=["ckpt","pt","bin","pth","safetensors","gguf"];if((null==e?void 0:e.length)>0){const t=getExtensions(e[e.length-1]);if(!o.includes(t))return null}const a=t.callback,n=[...e];t.callback=null;const l=(e,t)=>{["None","无","無","なし"].includes(e.content)?a("None",t):a(n.find((t=>t.endsWith(e.content)),t))};if(i&&!s)return e.map((e=>{var t,i;let s=null==(t=modelsList[e])?void 0:t.folder,o=null==(i=modelsList[e])?void 0:i.pathIndex;const a=window.location.protocol,n=window.location.host;let r=s?`${`${a}//${n}`}/api/experiment/models/preview/${s}/${o}/${encodeRFC3986URIComponent(e)}`:"";return{folder:s,content:e,fullName:e,title:$el("div.comfyui-easyuse-contextmenu-model",{},[$el("span",{},e)]).outerHTML,thumbnail:r,callback:l}}));const r=e,d={},u=[],p=[];for(const h of r){const e=h.indexOf("/")>-1?"/":"\\",t=h.split(e);if(t.length>1){const i=t.shift();d[i]=d[i]||[],d[i].push({value:t.join(e),fullValue:h})}else"CHOOSE"===h||h.startsWith("DISABLE ")?u.push({value:h,fullValue:h}):p.push({value:h,fullValue:h})}const c=Object.values(d).length,A=[],g=(e,t="",s)=>{var o,a;let n;n=$el("div.comfyui-easyuse-contextmenu-model",{},[$el("span",{},e)]);let r=null==(o=modelsList[s])?void 0:o.folder,d=null==(a=modelsList[s])?void 0:a.pathIndex;const u=window.location.protocol,p=window.location.host;let c=r?`${`${u}//${p}`}/api/experiment/models/preview/${r}/${d}/${encodeRFC3986URIComponent(s)}`:"";return{folder:r,content:e,fullName:s,thumbnail:i?c:null,title:n.outerHTML,callback:l}};if(c>0){const e=(t,i)=>{let s=[],o=[];const a=t.map((({value:e,fullValue:t})=>{const a={},n=e.indexOf("/")>-1?"/":"\\",l=e.split(n);if(l.length>1){const e=l.shift();a[e]=a[e]||[],a[e].push({value:l.join(n),fullValue:t})}if(Object.values(d).length>0){let i=Object.keys(a)[0];i&&a[i]?s.push({key:i,value:a[i][0]}):o.push(g(e,i,t))}return g(e,i,t)}));if(s.length>0){let t={};return s.forEach((e=>{t[e.key]=t[e.key]||[],t[e.key].push(e.value)})),[...Object.entries(t).map((t=>({content:t[0],has_submenu:!0,callback:()=>{},submenu:{options:e(t[1],t[0])}}))),...o]}return a};for(const[t,i]of Object.entries(d))A.push({content:t,has_submenu:!0,callback:()=>{},submenu:{options:e(i,t)}})}return A.push(...p.map((e=>g(e.value,"",e.fullValue)))),u.length>0&&A.push(...u.map((e=>g(e.value,"",e.fullValue)))),A}class MetadataDialog extends ComfyDialog{constructor(){super(),this.element.classList.add("easyuse-model-metadata")}show(e){super.show($el("div",Object.keys(e).map((t=>$el("div",[$el("label",{textContent:t}),$el("span",{textContent:e[t]})])))))}}class ModelInfoDialog extends ComfyDialog{constructor(e){super(),this.name=e,this.element.classList.add("easyuse-model-info")}get customNotes(){return this.metadata["easyuse.notes"]}set customNotes(e){this.metadata["easyuse.notes"]=e}get hash(){return this.metadata["easyuse.sha256"]}async show(e,t){this.type=e;const i=api.fetchApi("/easyuse/metadata/"+encodeURIComponent(`${e}/${t}`));this.info=$el("div",{style:{flex:"auto"}}),this.imgCurrent=0,this.imgList=$el("div.easyuse-preview-list",{style:{display:"none"}}),this.imgWrapper=$el("div.easyuse-preview",[$el("div.easyuse-preview-group",[this.imgList])]),this.main=$el("main",{style:{display:"flex"}},[this.imgWrapper,this.info]),this.content=$el("div.easyuse-model-content",[$el("div.easyuse-model-header",[$el("h2",{textContent:this.name})]),this.main]);const s=$el("div",{textContent:"ℹ️ Loading...",parent:this.content});super.show(this.content),this.metadata=await(await i).json(),this.viewMetadata.style.cursor=this.viewMetadata.style.opacity="",this.viewMetadata.removeAttribute("disabled"),s.remove(),this.addInfo()}createButtons(){const e=super.createButtons();return this.viewMetadata=$el("button",{type:"button",textContent:"View raw metadata",disabled:"disabled",style:{opacity:.5,cursor:"not-allowed"},onclick:e=>{this.metadata&&(new MetadataDialog).show(this.metadata)}}),e.unshift(this.viewMetadata),e}parseNote(){if(!this.customNotes)return[];let e=[];const t=new RegExp("(\\bhttps?:\\/\\/[^\\s]+)","g");let i,s=0;do{let o;i=t.exec(this.customNotes);let a=0;i?(o=i.index,a=i.index+i[0].length):o=this.customNotes.length;let n=this.customNotes.substring(s,o);n&&(n=n.replaceAll("\n","
"),e.push($el("span",{innerHTML:n}))),i&&e.push($el("a",{href:i[0],textContent:i[0],target:"_blank"})),s=a}while(i);return e}addInfoEntry(e,t){return $el("p",{parent:this.info},["string"==typeof e?$el("label",{textContent:e+": "}):e,"string"==typeof t?$el("span",{textContent:t}):t])}async getCivitaiDetails(){const e=await fetch("https://civitai.com/api/v1/model-versions/by-hash/"+this.hash);if(200===e.status)return await e.json();throw 404===e.status?new Error("Model not found"):new Error(`Error loading info (${e.status}) ${e.statusText}`)}addCivitaiInfo(){const e=this.getCivitaiDetails(),t=$el("span",{textContent:"ℹ️ Loading..."});return this.addInfoEntry($el("label",[$el("img",{style:{width:"18px",position:"relative",top:"3px",margin:"0 5px 0 0"},src:"https://civitai.com/favicon.ico"}),$el("span",{textContent:"Civitai: "})]),t),e.then((e=>{var t,i;this.imgWrapper.style.display="block";let s=this.element.querySelector(".easyuse-model-header");s&&s.replaceChildren($el("h2",{textContent:this.name}),$el("div.easyuse-model-header-remark",[$el("h5",{textContent:$t("Updated At:")+formatTime(new Date(e.updatedAt),"yyyy/MM/dd")}),$el("h5",{textContent:$t("Created At:")+formatTime(new Date(e.updatedAt),"yyyy/MM/dd")})]));let o=null,a=this.parseNote.call(this),n=$t("✏️ Edit"),l=$el("div.easyuse-model-detail-textarea",[$el("p",(null==a?void 0:a.length)>0?a:{textContent:$t("No notes")})]);if(a&&0!=a.length?l.classList.remove("empty"):l.classList.add("empty"),this.info.replaceChildren($el("div.easyuse-model-detail",[$el("div.easyuse-model-detail-head.flex-b",[$el("span",$t("Notes")),$el("a",{textContent:n,href:"#",style:{fontSize:"12px",float:"right",color:"var(--warning-color)",textDecoration:"none"},onclick:async e=>{if(e.preventDefault(),o){if(o.value!=this.customNotes){toast.showLoading($t("Saving Notes...")),this.customNotes=o.value;const e=await api.fetchApi("/easyuse/metadata/notes/"+encodeURIComponent(`${this.type}/${this.name}`),{method:"POST",body:this.customNotes});if(toast.hideLoading(),200!==e.status)return toast.error($t("Saving Failed")),void alert(`Error saving notes (${e.status}) ${e.statusText}`);toast.success($t("Saving Succeed")),a=this.parseNote.call(this),l.replaceChildren($el("p",(null==a?void 0:a.length)>0?a:{textContent:$t("No notes")})),o.value?l.classList.remove("empty"):l.classList.add("empty")}else l.replaceChildren($el("p",{textContent:$t("No notes")})),l.classList.add("empty");e.target.textContent=n,o.remove(),o=null}else e.target.textContent="💾 Save",o=$el("textarea",{placeholder:$t("Type your notes here"),style:{width:"100%",minWidth:"200px",minHeight:"50px",height:"100px"},textContent:this.customNotes}),l.replaceChildren(o),o.focus()}})]),l]),$el("div.easyuse-model-detail",[$el("div.easyuse-model-detail-head",{textContent:$t("Details")}),$el("div.easyuse-model-detail-body",[$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Type")}),$el("div.easyuse-model-detail-item-value",{textContent:e.model.type})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("BaseModel")}),$el("div.easyuse-model-detail-item-value",{textContent:e.baseModel})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Download")}),$el("div.easyuse-model-detail-item-value",{textContent:(null==(t=e.stats)?void 0:t.downloadCount)||0})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Trained Words")}),$el("div.easyuse-model-detail-item-value",{textContent:(null==e?void 0:e.trainedWords.join(","))||"-"})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Source")}),$el("div.easyuse-model-detail-item-value",[$el("label",[$el("img",{style:{width:"14px",position:"relative",top:"3px",margin:"0 5px 0 0"},src:"https://civitai.com/favicon.ico"}),$el("a",{href:"https://civitai.com/models/"+e.modelId,textContent:"View "+e.model.name,target:"_blank"})])])])])])),null==(i=e.images)?void 0:i.length){this.imgCurrent=0,this.isSaving=!1,e.images.map((e=>e.url&&this.imgList.appendChild($el("div.easyuse-preview-slide",[$el("div.easyuse-preview-slide-content",[$el("img",{src:e.url}),$el("div.save",{textContent:"Save as preview",onclick:async()=>{if(this.isSaving)return;this.isSaving=!0,toast.showLoading($t("Saving Preview..."));const t=await(await fetch(e.url)).blob(),i="temp_preview."+new URL(e.url).pathname.split(".")[1],s=new FormData;s.append("image",new File([t],i)),s.append("overwrite","true"),s.append("type","temp");if(200!==(await api.fetchApi("/upload/image",{method:"POST",body:s})).status)return this.isSaving=!1,toast.error($t("Saving Failed")),toast.hideLoading(),void alert(`Error saving preview (${req.status}) ${req.statusText}`);await api.fetchApi("/easyuse/save/"+encodeURIComponent(`${this.type}/${this.name}`),{method:"POST",body:JSON.stringify({filename:i,type:"temp"}),headers:{"content-type":"application/json"}}).then((e=>{toast.success($t("Saving Succeed")),toast.hideLoading()})),this.isSaving=!1,app.refreshComboInNodes()}})])]))));let t=this;this.imgDistance=(-660*this.imgCurrent).toString(),this.imgList.style.display="",this.imgList.style.transform="translate3d("+this.imgDistance+"px, 0px, 0px)",this.slides=this.imgList.querySelectorAll(".easyuse-preview-slide"),this.slideLeftButton=$el("button.left",{parent:this.imgWrapper,style:{display:e.images.length<=2?"none":"block"},innerHTML:'',onclick:()=>{e.images.length<=2||(t.imgList.classList.remove("no-transition"),0==t.imgCurrent?(t.imgCurrent=e.images.length/2-1,this.slides[this.slides.length-1].style.transform="translate3d("+(-660*(this.imgCurrent+1)).toString()+"px, 0px, 0px)",this.slides[this.slides.length-2].style.transform="translate3d("+(-660*(this.imgCurrent+1)).toString()+"px, 0px, 0px)",t.imgList.style.transform="translate3d(660px, 0px, 0px)",setTimeout((e=>{this.slides[this.slides.length-1].style.transform="translate3d(0px, 0px, 0px)",this.slides[this.slides.length-2].style.transform="translate3d(0px, 0px, 0px)",t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)",t.imgList.classList.add("no-transition")}),500)):(t.imgCurrent=t.imgCurrent-1,t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)"))}}),this.slideRightButton=$el("button.right",{parent:this.imgWrapper,style:{display:e.images.length<=2?"none":"block"},innerHTML:'',onclick:()=>{if(!(e.images.length<=2))if(t.imgList.classList.remove("no-transition"),t.imgCurrent>=e.images.length/2-1){t.imgCurrent=0;const i=e.images.length/2;this.slides[0].style.transform="translate3d("+(660*i).toString()+"px, 0px, 0px)",this.slides[1].style.transform="translate3d("+(660*i).toString()+"px, 0px, 0px)",t.imgList.style.transform="translate3d("+(-660*i).toString()+"px, 0px, 0px)",setTimeout((e=>{this.slides[0].style.transform="translate3d(0px, 0px, 0px)",this.slides[1].style.transform="translate3d(0px, 0px, 0px)",t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)",t.imgList.classList.add("no-transition")}),500)}else t.imgCurrent=t.imgCurrent+1,t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)"}})}return e.description&&$el("div",{parent:this.content,innerHTML:e.description,style:{marginTop:"10px"}}),e})).catch((e=>{this.imgWrapper.style.display="none",t.textContent="⚠️ "+e.message})).finally((e=>{}))}}class CheckpointInfoDialog extends ModelInfoDialog{async addInfo(){await this.addCivitaiInfo()}}const MAX_TAGS=500;class LoraInfoDialog extends ModelInfoDialog{getTagFrequency(){if(!this.metadata.ss_tag_frequency)return[];const e=JSON.parse(this.metadata.ss_tag_frequency),t={};for(const i in e){const s=e[i];for(const e in s)e in t?t[e]+=s[e]:t[e]=s[e]}return Object.entries(t).sort(((e,t)=>t[1]-e[1]))}getResolutions(){let e=[];if(this.metadata.ss_bucket_info){const t=JSON.parse(this.metadata.ss_bucket_info);if(null==t?void 0:t.buckets)for(const{resolution:i,count:s}of Object.values(t.buckets))e.push([s,`${i.join("x")} * ${s}`])}e=e.sort(((e,t)=>t[0]-e[0])).map((e=>e[1]));let t=this.metadata.ss_resolution;if(t){const i=t.split(","),s=i[0].replace("(",""),o=i[1].replace(")","");e.push(`${s.trim()}x${o.trim()} (Base res)`)}else(t=this.metadata["modelspec.resolution"])&&e.push(t+" (Base res");return e.length||e.push("⚠️ Unknown"),e}getTagList(e){return e.map((e=>$el("li.easyuse-model-tag",{dataset:{tag:e[0]},$:e=>{e.onclick=()=>{e.classList.toggle("easyuse-model-tag--selected")}}},[$el("p",{textContent:e[0]}),$el("span",{textContent:e[1]})])))}addTags(){let e,t=this.getTagFrequency();if(null==t?void 0:t.length){const i=t.length;let s;i>MAX_TAGS&&(t=t.slice(0,MAX_TAGS),e=$el("p",[$el("span",{textContent:`⚠️ Only showing first ${MAX_TAGS} tags `}),$el("a",{href:"#",textContent:`Show all ${i}`,onclick:()=>{s.replaceChildren(...this.getTagList(this.getTagFrequency())),e.remove()}})])),s=$el("ol.easyuse-model-tags-list",this.getTagList(t)),this.tags=$el("div",[s])}else this.tags=$el("p",{textContent:"⚠️ No tag frequency metadata found"});this.content.append(this.tags),e&&this.content.append(e)}async addInfo(){const e=this.addCivitaiInfo();this.addTags();const t=await e;t&&$el("div",{parent:this.content,innerHTML:t.description,style:{maxHeight:"250px",overflow:"auto"}})}createButtons(){const e=super.createButtons();function t(e,t){const i=$el("textarea",{parent:document.body,style:{position:"fixed"},textContent:t.map((e=>e.dataset.tag)).join(", ")});i.select();try{document.execCommand("copy"),e.target.dataset.text||(e.target.dataset.text=e.target.textContent),e.target.textContent="Copied "+t.length+" tags",setTimeout((()=>{e.target.textContent=e.target.dataset.text}),1e3)}catch(s){prompt("Copy to clipboard: Ctrl+C, Enter",text)}finally{document.body.removeChild(i)}}return e.unshift($el("button",{type:"button",textContent:"Copy Selected",onclick:e=>{t(e,[...this.tags.querySelectorAll(".easyuse-model-tag--selected")])}}),$el("button",{type:"button",textContent:"Copy All",onclick:e=>{t(e,[...this.tags.querySelectorAll(".easyuse-model-tag")])}})),e}}const swap={pipe:{category:"Easy Pipe",nodes:["easy pipeIn","easy pipeOut","easy pipeEdit","easy pipeEditPrompt","easy pipeBatchIndex"],input:{pipe:"pipe"},output:{pipe:"pipe"},widget:{optional_positive:"optional_positive",optional_negative:"optional_negative"}},loaders:{category:"Easy Loaders",nodes:["easy fullLoader","easy a1111Loader","easy comfyLoader","easy kolorsLoader","easy hunyuanDiTLoader","easy pixArtLoader","easy fluxLoader"],input:{optional_lora_stack:"optional_lora_stack",optional_controlnet_stack:"optional_controlnet_stack",positive:"positive",negative:"negative"},output:{pipe:"pipe",model:"model",vae:"vae",clip:null,positive:null,negative:null,latent:null},widget:{ckpt_name:"ckpt_name",vae_name:"vae_name",clip_skip:"clip_skip",lora_name:"lora_name",resolution:"resolution",empty_latent_width:"empty_latent_width",empty_latent_height:"empty_latent_height",positive:"positive",negative:"negative",batch_size:"batch_size",a1111_prompt_style:"a1111_prompt_style"}},preSampling:{category:"Easy PreSampling",nodes:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG","easy preSamplingNoiseIn","easy preSamplingCustom","easy preSamplingLayerDiffusion","easy fullkSampler"],input:{pipe:"pipe",image_to_latent:"image_to_latent",latent:"latent"},output:{pipe:"pipe"},widget:{steps:"steps",cfg:"cfg",cfg_scale_min:"cfg",sampler_name:"sampler_name",scheduler:"scheduler",denoise:"denoise",seed_num:"seed_num",seed:"seed"}},samplers:{category:"Custom Sampler",nodes:["KSamplerSelect","SamplerEulerAncestral","SamplerEulerAncestralCFG++","SamplerLMS","SamplerDPMPP_3M_SDE","SamplerDPMPP_2M_SDE","SamplerDPMPP_SDE","SamplerDPMAdaptative","SamplerLCMUpscale","SamplerTCD","SamplerTCD EulerA"],output:{SAMPLER:"SAMPLER"}},sigmas:{category:"Custom Sigmas",nodes:["BasicScheduler","KarrasScheduler","ExponentialScheduler","PolyexponentialScheduler","VPScheduler","BetaSamplingScheduler","SDTurboScheduler","SplitSigmas","SplitSigmasDenoise","FlipSigmas","AlignYourStepsScheduler","GITSScheduler"],output:{SIGMAS:"SIGMAS"}},kSampler:{category:"Easy kSampler",nodes:["easy kSampler","easy kSamplerTiled","easy kSamplerCustom","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerLayerDiffusion"],input:{pipe:"pipe",model:"model"},output:{pipe:"pipe",image:"image"},widget:{image_output:"image_output",save_prefix:"save_prefix",link_id:"link_id"}},controlNet:{category:"Easy ControlNet",nodes:["easy controlnetLoader","easy controlnetLoaderADV","easy controlnetLoader++","easy instantIDApply","easy instantIDApplyADV"],input:{pipe:"pipe",image:"image",image_kps:"image_kps",control_net:"control_net",positive:"positive",negative:"negative",mask:"mask"},output:{pipe:"pipe",positive:"positive",negative:"negative"},widget:{control_net_name:"control_net_name",strength:["strength","cn_strength"],scale_soft_weights:["scale_soft_weights","cn_soft_weights"],cn_strength:["strength","cn_strength"],cn_soft_weights:["scale_soft_weights","cn_soft_weights"]}},adapter:{category:"Easy Adapter",nodes:["easy ipadapterApply","easy ipadapterApplyADV","easy ipadapterApplyFaceIDKolors","easy ipadapterStyleComposition","easy ipadapterApplyFromParams","easy pulIDApply","easy pulIDApplyADV"],input:{model:"model",image:"image",image_style:"image",attn_mask:"attn_mask",optional_ipadapter:"optional_ipadapter"},output:{model:"model",tiles:"tiles",masks:"masks",ipadapter:"ipadapter"},widget:{preset:"preset",lora_strength:"lora_strength",provider:"provider",weight:"weight",weight_faceidv2:"weight_faceidv2",start_at:"start_at",end_at:"end_at",cache_mode:"cache_mode",use_tiled:"use_tiled",insightface:"insightface",pulid_file:"pulid_file"}},positive:{category:"Easy Positive",nodes:["easy positive","easy wildcards"],input:{},output:{text:"positive",positive:"text"},widget:{text:"positive",positive:"text"}},loadImage:{category:"Easy LoadImage",nodes:["easy loadImageBase64","LoadImage","LoadImageMask"],input:{pipe:"pipe",image:"image",mask:"mask"},output:{IMAGE:"IMAGE",MASK:"MASK"},widget:{image:"image",base64_data:"base64_data",channel:"channel"}},saveImage:{category:"Save/Preview Image",nodes:["SaveImage","PreviewImage"]},inPaint:{category:"Easy Inpaint",nodes:["easy applyBrushNet","easy applyPowerPaint","easy applyInpaint"],input:{},output:{pipe:"pipe"},widget:{dtype:"dtype",fitting:"fitting",function:"function",scale:"scale",start_at:"start_at",end_at:"end_at"}},showAny:{category:"Show Anything",nodes:["easy showAnything","easy showAnythingLazy"],input:{anything:"anything"},output:{output:"output"}},saveText:{category:"Save Text",nodes:["easy saveText","easy saveTextLazy"],input:{image:"image",text:"text",output_file_path:"output_file_path",file_name:"file_name",file_extension:"file_extension",overwrite:"overwrite"},output:{text:"text",image:"image"},widget:{image:"image",text:"text",output_file_path:"output_file_path",file_name:"file_name",file_extension:"file_extension",overwrite:"overwrite"}},persona:{category:"LLM Party Persona",nodes:["load_persona","classify_persona","classify_persona_plus","custom_persona","translate_persona","flux_persona"],input:{file_content:"file_content"},output:{system_prompt:"system_prompt"},widget:{is_enable:"is_enable"}},llmModelLoader:{category:"LLM Model Loader",nodes:["LLM_api_loader","genai_api_loader","LLM_local_loader"],output:{model:"model"}},llmModelChain:{category:"LLM Model Chain",nodes:["LLM","LLM_local"],input:{model:"model",image:"images",images:"image",extra_parameters:"extra_parameters",system_prompt_input:"system_prompt_input",user_prompt_input:"user_prompt_input",tools:"tools",file_content:"file_content"},output:{assistant_response:"assistant_response",history:"history",tool:"tool",image:"image"},widget:{system_prompt:"system_prompt",user_prompt:"user_prompt",temperature:"temperature",is_memory:"is_memory",is_tools_in_sys_prompt:"is_tools_in_sys_prompt",max_length:"max_length",main_brain:"main_brain",conversation_rounds:"conversation_rounds",history_record:"history_record",is_enable:"is_enable"}},maskModify:{category:"Mask Modify",nodes:["CropMask","ThresholdMask","GrowMask","FeatherMask","LayerMask: MaskGrain","LayerMask: MaskEdgeUltraDetail","LayerMask: MaskEdgeUltraDetail V2"],input:{mask:"mask"},output:{MASK:"MASK",mask:"mask",image:"image"}},maskModifyWAS:{category:"Mask Modify (WAS)",nodes:["Mask Dilate Region","Mask Gaussian Region"],input:{masks:"masks"},output:{MASKS:"MASKS"}},fast_loaders:{category:"Fast Loaders",nodes:["fast ckptLoader","fast unetLoader"],input:{"开始加载":"开始加载"},output:{"模型加载器":"模型加载器",MODEL:"MODEL",VAE:"VAE",CLIP:"CLIP"}},fast_inputs:{category:"Fast Inputs",nodes:["fast sdInput","fast fluxInput","fast hiDreamInput","fast videoInput"],input:{"模型加载器":"模型加载器","更多Controlnet":"更多Controlnet","图像":"图像","遮罩":"遮罩","功能节点":"功能节点"},output:{"采样":"采样","正面条件":"正面条件","负面条件":"负面条件","潜空间":"潜空间"},widget:{Sigmas:"Sigmas","分离Sigmas步数":"分离Sigmas步数","分离降噪":"分离降噪","降噪":"降噪","添加噪声":"添加噪声",seed:"seed","生成数量":"生成数量"}},fast_outputResult:{category:"Fast Outputs",nodes:["fast outputResult","fast outputResultVideo"],input:{"采样":"采样","噪声":"噪声","模型加载器":"模型加载器"},output:{"图像":"图像序列","图像序列":"图像","输出":"输出","降噪输出":"降噪输出",VAE:"VAE"},widget:{"采样预览":"采样预览","VAE解码":"VAE解码","图像输出":"视频输出","视频输出":"图像输出","保存路径":"保存路径"}},fast_loadImage:{category:"Fast LoadImage",nodes:["fast loadImage","fast loadImageList"],output:{"图像":"图像","遮罩":"遮罩","文件名":"文件名"},widget:{"模式":"模式","图像":"图像","路径":"路径","最大张数":"最大张数","开始索引":"开始索引",Base64:"Base64","链接":"链接"}}};function replaceNode(e,t,i){var s;const o=LiteGraph.createNode(t);if(o){if(app$1.graph.add(o),o.pos=e.pos.slice(),o.size=e.size.slice(),(null==(s=e.widgets)?void 0:s.length)>0&&e.widgets.forEach((e=>{var t,s;if(null==(s=null==(t=swap[i])?void 0:t.widget)?void 0:s[e.name]){const t=swap[i].widget[e.name];if(t&&o.widgets){const i=findWidgetByName(o,t);i&&(i.value=e.value,"seed_num"==e.name&&(i.linkedWidgets[0].value=e.linkedWidgets[0].value),"converted-widget"==e.type&&convertToInput(o,i,e))}}})),e.inputs&&e.inputs.forEach(((t,s)=>{var a,n,l;if(t&&t.link&&(null==(n=null==(a=swap[i])?void 0:a.input)?void 0:n[t.name])){const s=null==(l=swap[i])?void 0:l.input[t.name];if(null===s)return;const a=o.findInputSlot(s);if(-1!==a){const i=e.graph.links[t.link];if(i){const t=e.graph.getNodeById(i.origin_id);t&&t.connect(i.origin_slot,o,a)}}}})),e.outputs&&e.outputs.forEach(((t,s)=>{var a,n;if(t&&t.links&&(null==(n=null==(a=swap[i])?void 0:a.output)?void 0:n[t.name])){const s=swap[i].output[t.name];if(null===s)return;const a=o.findOutputSlot(s);-1!==a&&t.links.forEach((t=>{const i=e.graph.links[t];if(i){const t=e.graph.getNodeById(i.target_id);t&&o.connect(a,t,i.target_slot)}}))}})),app$1.graph.remove(e),"easy fullkSampler"==o.type){const e=o.outputs[0].links;if(e&&e[0]){const t=app$1.graph._nodes.find((t=>t.inputs&&t.inputs[0]&&t.inputs[0].link==e[0]));t&&app$1.graph.remove(t)}}else if(swap.preSampling.nodes.includes(o.type)){const e=o.outputs[0].links;if(!e||!e[0]){const e=LiteGraph.createNode("easy kSampler");app$1.graph.add(e),e.pos=o.pos.slice(),e.pos[0]=e.pos[0]+o.size[0]+20;const t=o.findInputSlot("pipe");-1!==t&&o&&o.connect(0,e,t)}}o.setSize([o.size[0],o.computeSize()[1]])}}function findWidgetByName(e,t){return e.widgets.find((e=>"object"==typeof t?t.includes(e.name):e.name===t))}function replaceNodeMenuCallback(e,t,i){return function(){replaceNode(e,t,i)}}const addMenuHandler=(e,t)=>{const i=e.prototype.getExtraMenuOptions;e.prototype.getExtraMenuOptions=function(){const e=i.apply(this,arguments);return t.apply(this,arguments),e}},addMenu=(e,t,i,s,o=!0)=>{addMenuHandler(s,(function(s,a){a.unshift({content:e,has_submenu:o,callback:(e,s,o,a,n)=>showSwapMenu(e,s,o,a,n,t,i)}),"loaders"==t&&(a.unshift({content:$t("💎 View Lora Info..."),callback:(e,t,i,s,o)=>{let a=o.widgets.find((e=>"lora_name"==e.name)).value;a&&"None"!=a&&new LoraInfoDialog(a).show("loras",a)}}),a.unshift({content:$t("💎 View Checkpoint Info..."),callback:(e,t,i,s,o)=>{let a=o.widgets[0].value;a&&"None"!=a&&new CheckpointInfoDialog(a).show("checkpoints",a)}}))}))},showSwapMenu=(e,t,i,s,o,a,n)=>{const l=[];return n.map((e=>{o.type!==e&&l.push({content:`${e}`,callback:replaceNodeMenuCallback(o,e,a)})})),new LiteGraph.ContextMenu(l,{event:i,callback:null,parentMenu:s,node:o}),!1},CONVERTED_TYPE="converted-widget",GET_CONFIG=Symbol();function hideWidget(e,t,i=""){if(t.origType=t.type,t.origComputeSize=t.computeSize,t.origSerializeValue=t.serializeValue,t.computeSize=()=>[0,-4],t.type=CONVERTED_TYPE+i,t.serializeValue=()=>{if(!e.inputs)return;let i=e.inputs.find((e=>{var i;return(null==(i=e.widget)?void 0:i.name)===t.name}));return i&&i.link?t.origSerializeValue?t.origSerializeValue():t.value:void 0},t.linkedWidgets)for(const s of t.linkedWidgets)hideWidget(e,s,":"+t.name)}function convertToInput(e,t,i){hideWidget(e,t);const{type:s}=getWidgetType(i),o=e.size;t.options&&t.options.forceInput||e.addInput(t.name,s,{widget:{name:t.name,[GET_CONFIG]:()=>i}});for(const a of e.widgets)a.last_y+=LiteGraph.NODE_SLOT_HEIGHT;e.setSize([Math.max(o[0],e.size[0]),Math.max(o[1],e.size[1])])}function getWidgetType(e){let t=e[0];return t instanceof Array&&(t="COMBO"),{type:t}}const reloadNode=function(e){var t,i,s,o;const a=e.constructor.type,n=e.properties.origVals||{},l=n.title||e.title,r=n.color||e.color,d=n.bgcolor||e.bgcolor,u=e,p={size:[...e.size],color:r,bgcolor:d,pos:[...e.pos]};let c=[],A=[];if(e.inputs)for(const f of e.inputs)if(f.link){const t=f.name,i=e.findInputSlot(t),s=e.getInputNode(i),o=e.getInputLink(i);c.push([o.origin_slot,s,t])}if(e.outputs)for(const f of e.outputs)if(f.links){const e=f.name;for(const t of f.links){const i=graph.links[t],s=graph._nodes_by_id[i.target_id];A.push([e,s,i.target_slot])}}app$1.graph.remove(e);let g=app$1.graph.add(LiteGraph.createNode(a,l,p));function h(){if(u.widgets)for(let e of u.widgets)if("converted-widget"===e.type){const t=g.widgets.find((t=>t.name===e.name));for(let i of u.inputs)i.name===e.name&&convertToInput(g,t,i.widget)}for(let e of c){const[t,i,s]=e;i.connect(t,g.id,s)}for(let e of A){const[t,i,s]=e;g.connect(t,i,s)}}g.inputs.map(((t,i)=>{g.inputs[i].label=e.inputs[i].label})),g.outputs.map(((t,i)=>{g.outputs[i].label=e.outputs[i].label}));let m=u.widgets_values;if(!m&&(null==(t=g.widgets)?void 0:t.length)>0)return g.widgets.forEach(((e,t)=>{const i=u.widgets[t];e.name===i.name&&e.type===i.type&&(e.value=i.value)})),void h();if(m){let e=function(e,t){var i,s,o,a,n,l;if(!0===e||!1===e){if((null==(i=t.options)?void 0:i.on)&&(null==(s=t.options)?void 0:s.off))return{value:e,pass:!0}}else if("number"==typeof e){if((null==(o=t.options)?void 0:o.min)<=e&&e<=(null==(a=t.options)?void 0:a.max))return{value:e,pass:!0}}else{if(null==(l=null==(n=t.options)?void 0:n.values)?void 0:l.includes(e))return{value:e,pass:!0};if(t.inputEl&&"string"==typeof e)return{value:e,pass:!0}}return{value:t.value,pass:!1}},t=!1;const a=(null==m?void 0:m.length)<=(null==(i=g.widgets)?void 0:i.length);let n=a?0:m.length-1;const l=i=>{var s;const o=u.widgets[i];let l=g.widgets[i];if(l.name===o.name&&l.type===o.type){for(;(a?n=0)&&!t;){let{value:t,pass:i}=e(m[n],l);if(i&&null!==t){l.value=t;break}n+=a?1:-1}n++,a||(n=m.length-((null==(s=g.widgets)?void 0:s.length)-1-i))}};if(a&&(null==(s=g.widgets)?void 0:s.length)>0)for(let i=0;i0)for(let i=g.widgets.length-1;i>=0;i--)l(i)}h()};app$1.registerExtension({name:"Comfy.EasyUse.ExtraMenu",async beforeRegisterNodeDef(e,t,i){addMenuHandler(e,(function(e,i){i.unshift({content:$t("🔃 Reload Node"),callback:(e,t,i,s,o)=>{let a=LGraphCanvas.active_canvas;if(!a.selected_nodes||Object.keys(a.selected_nodes).length<=1)reloadNode(o);else for(let n in a.selected_nodes)reloadNode(a.selected_nodes[n])}}),"easy ckptNames"==t.name&&i.unshift({content:$t("💎 View Checkpoint Info..."),callback:(e,t,i,s,o)=>{o.widgets[0].value}})}));for(const s in swap)swap[s].nodes.includes(t.name)&&addMenu(`↪️ Swap ${swap[s].category}`,s,swap[s].nodes,e)}});const LGraphNode=LiteGraph.LGraphNode,setIcon="➡️",getIcon="⬅️";function globalSeedHandler(e){let t=app.graph._nodes_by_id;for(let i in t){let s=t[i];if("easy globalSeed"==s.type){if(s.widgets){const t=s.widgets.find((e=>"value"==e.name));s.widgets.find((e=>"last_seed"==e.name)).value=t.value,t.value=e.detail.value}}else if(s.widgets){const t=s.widgets.find((e=>"seed_num"==e.name||"seed"==e.name||"noise_seed"==e.name));t&&null!=e.detail.seed_map[s.id]&&(t.value=e.detail.seed_map[s.id])}}}app$1.registerExtension({name:"easy setNode",registerCustomNodes(){class e extends LGraphNode{constructor(t){super("Set"),__publicField(this,"defaultVisibility",!0),__publicField(this,"serialize_widgets",!0),this.properties||(this.properties={previousName:""}),this.properties.showOutputText=e.defaultVisibility;const i=this;i.color=LGraphCanvas.node_colors.blue.color,this.addWidget("text","Constant","",((e,t,s,o,a)=>{i.validateName(i.graph),""!==this.widgets[0].value&&(this.title=setIcon+this.widgets[0].value),this.properties.previousName=this.widgets[0].value,this.update()}),{}),this.addInput("*","*"),this.onConnectionsChange=function(e,t,s,o,a){if(1!=e||s||(this.inputs[t].type="*",this.inputs[t].name="*",this.title="Set"),o&&i.graph&&1==e&&s){const e=i.graph._nodes.find((e=>e.id==o.origin_id)).outputs[o.origin_slot];if(!e)return;const t=e.type,s=i.is_auto_link?this.widgets[0].value:e.name;"Set"===this.title&&(this.title=setIcon+s,this.widgets[0].value=s),"*"===this.widgets[0].value&&(this.widgets[0].value=s),this.validateName(i.graph),this.inputs[0]&&(this.inputs[0].type=t,this.inputs[0].name=s),setTimeout((e=>{this.title=setIcon+this.widgets[0].value,this.properties.previousName=this.widgets[0].value}),1)}this.update()},this.validateName=function(e){let t=i.widgets[0].value;if(""!=t){let s=0,o=[];do{o=e._nodes.filter((e=>e!=this&&("easy setNode"==e.type&&e.widgets[0].value===t))),o.length>0&&(t=i.widgets[0].value+s),s++}while(o.length>0);i.widgets[0].value=t,this.update()}},this.clone=function(){const t=e.prototype.clone.apply(this);return t.inputs[0].name="*",t.inputs[0].type="*",t.properties.previousName="",t.size=t.computeSize(),t},this.onAdded=function(e){this.validateName(e)},this.update=function(){if(i.graph){this.findGetters(i.graph).forEach((e=>{e.setType(this.inputs[0].type)})),this.widgets[0].value&&this.findGetters(i.graph,!0).forEach((e=>{e.setName(this.widgets[0].value)}));i.graph._nodes.filter((e=>"easy getNode"==e.type)).forEach((e=>{e.setComboValues&&e.setComboValues()}))}},this.findGetters=function(e,t){const i=t?this.properties.previousName:this.widgets[0].value;return e._nodes.filter((e=>"easy getNode"==e.type&&e.widgets[0].value===i&&""!=i))},this.isVirtualNode=!0}onRemoved(){this.graph._nodes.filter((e=>"easy getNode"==e.type)).forEach((e=>{e.setComboValues&&e.setComboValues([this])}))}}LiteGraph.registerNodeType("easy setNode",Object.assign(e,{title:"Set"})),e.category="EasyUse/Util"}}),app$1.registerExtension({name:"easy getNode",registerCustomNodes(){class e extends LGraphNode{constructor(t){super("Get"),__publicField(this,"defaultVisibility",!0),__publicField(this,"serialize_widgets",!0),this.properties||(this.properties={}),this.properties.showOutputText=e.defaultVisibility;const i=this;i.color=LGraphCanvas.node_colors.blue.color,this.addWidget("combo","Constant","",(e=>{this.onRename()}),{values:()=>i.graph._nodes.filter((e=>"easy setNode"==e.type)).map((e=>e.widgets[0].value)).sort()}),this.addOutput("*","*"),this.onConnectionsChange=function(e,t,i,s,o){this.validateLinks(),2!=e||i?(this.onRename(),setTimeout((e=>{this.title=getIcon+this.widgets[0].value}),1)):(this.outputs[t].type="*",this.outputs[t].name="*",this.title="Get")},this.setName=function(e){i.widgets[0].value=e,i.onRename(),i.serialize()},this.onRename=function(e=0){const t=this.findSetter(i.graph);if(t){const i=t.inputs[0].type,s=t.inputs[0].name;this.setType(i,s),this.outputs[e].type=i,this.outputs[e].name=s,this.title=getIcon+t.widgets[0].value}else this.setType("*","*"),this.outputs[e].type="*",this.outputs[e].name="*"},this.clone=function(){const t=e.prototype.clone.apply(this);return t.size=t.computeSize(),t},this.validateLinks=function(){"*"!=this.outputs[0].type&&this.outputs[0].links&&this.outputs[0].links.forEach((e=>{const t=i.graph.links[e];t&&t.type!=this.outputs[0].type&&"*"!=t.type&&i.graph.removeLink(e)}))},this.setType=function(e,t){this.outputs[0].name=t,this.outputs[0].type=e,this.validateLinks()},this.findSetter=function(e){const t=this.widgets[0].value;return e._nodes.find((e=>"easy setNode"==e.type&&e.widgets[0].value===t&&""!=t))},this.isVirtualNode=!0}getInputLink(e){const t=this.findSetter(this.graph);if(t){const i=t.inputs[e];return this.graph.links[i.link]}throw new Error("No setter found for "+this.widgets[0].value+"("+this.type+")")}onAdded(e){}}LiteGraph.registerNodeType("easy getNode",Object.assign(e,{title:"Get"})),e.category="EasyUse/Util"}}),api.addEventListener("easyuse-global-seed",globalSeedHandler);const original_queuePrompt=api.queuePrompt;async function queuePrompt_with_seed(e,{output:t,workflow:i}){i.seed_widgets={};for(let s in app.graph._nodes_by_id){let e=app.graph._nodes_by_id[s].widgets;if(e)for(let t in e)"seed_num"!=e[t].name&&"seed"!=e[t].name&&"noise_seed"!=e[t].name||"converted-widget"==e[t].type||(i.seed_widgets[s]=parseInt(t))}return await original_queuePrompt.call(api,e,{output:t,workflow:i})}api.queuePrompt=queuePrompt_with_seed;const extraNodes$1=["easy imageSave","easy fullkSampler","easy kSampler","easy kSamplerTiled","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerSDTurbo","easy detailerFix"];app$1.registerExtension({name:"Comfy.EasyUse.SaveImageExtraOutput",async beforeRegisterNodeDef(e,t,i){if(extraNodes$1.includes(t.name)){const t=e.prototype.onNodeCreated;e.prototype.onNodeCreated=function(){const e=t?t.apply(this,arguments):void 0,s=this.widgets.find((e=>"filename_prefix"===e.name||"save_prefix"===e.name));return s.serializeValue=()=>applyTextReplacements(i,s.value),e}}else{const t=e.prototype.onNodeCreated;e.prototype.onNodeCreated=function(){const e=t?t.apply(this,arguments):void 0;return this.properties&&"Node name for S&R"in this.properties||this.addProperty("Node name for S&R",this.constructor.type,"string"),e}}}});const propmts=["easy wildcards","easy positive","easy negative","easy stylesSelector","easy promptConcat","easy promptReplace"],preSamplingNodes=["easy preSampling","easy preSamplingAdvanced","easy preSamplingNoiseIn","easy preSamplingCustom","easy preSamplingDynamicCFG","easy preSamplingSdTurbo","easy preSamplingLayerDiffusion"],kSampler$1=["easy kSampler","easy kSamplerTiled","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerSDTurbo"],controlNetNodes=["easy controlnetLoader","easy controlnetLoaderADV"],instantIDNodes=["easy instantIDApply","easy instantIDApplyADV"],ipadapterNodes=["easy ipadapterApply","easy ipadapterApplyADV","easy ipadapterApplyFaceIDKolors","easy ipadapterStyleComposition"],pipeNodes=["easy pipeIn","easy pipeOut","easy pipeEdit","easy pipeEditPrompt"],xyNodes=["easy XYPlot","easy XYPlotAdvanced"],extraNodes=["easy setNode"],modelNormalNodes=["RescaleCFG","LoraLoaderModelOnly","LoraLoader","FreeU","FreeU_v2",...ipadapterNodes,...extraNodes],suggestions={"easy seed":{from:{INT:[...preSamplingNodes,"easy fullkSampler"]}},"easy positive":{from:{STRING:[...propmts]}},"easy negative":{from:{STRING:[...propmts]}},"easy wildcards":{from:{STRING:["easy showAnything",...propmts]}},"easy stylesSelector":{from:{STRING:["easy showAnything",...propmts]}},"easy promptConcat":{from:{STRING:["easy showAnything",...propmts]}},"easy promptReplace":{from:{STRING:["easy showAnything",...propmts]}},"easy fullLoader":{from:{PIPE_LINE:[...preSamplingNodes,"easy fullkSampler",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy a1111Loader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy comfyLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy hunyuanDiTLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy kolorsLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy pixArtLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy fluxLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy svdLoader":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy zero123Loader":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy sv3dLoader":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy preSampling":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingAdvanced":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingDynamicCFG":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingCustom":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingLayerDiffusion":{from:{PIPE_LINE:["easy kSamplerLayerDiffusion",...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingNoiseIn":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy fullkSampler":{from:{PIPE_LINE:[...pipeNodes.reverse(),"easy preDetailerFix","easy preMaskDetailerFix",...preSamplingNodes,...extraNodes]}},"easy kSampler":{from:{PIPE_LINE:[...pipeNodes.reverse(),"easy preDetailerFix","easy preMaskDetailerFix","easy hiresFix",...preSamplingNodes,...extraNodes]}},"easy controlnetLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}},"easy controlnetLoaderADV":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}},"easy instantIDApply":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{COMBO:["easy promptLine"]}},"easy instantIDApplyADV":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{COMBO:["easy promptLine"]}},"easy ipadapterApply":{to:{COMBO:["easy promptLine"]}},"easy ipadapterApplyADV":{to:{STRING:["easy sliderControl",...propmts],COMBO:["easy promptLine"]}},"easy ipadapterStyleComposition":{to:{COMBO:["easy promptLine"]}},"easy preDetailerFix":{from:{PIPE_LINE:["easy detailerFix",...pipeNodes,...extraNodes]},to:{PIPE_LINE:["easy ultralyticsDetectorPipe","easy samLoaderPipe","easy kSampler","easy fullkSampler"]}},"easy preMaskDetailerFix":{from:{PIPE_LINE:["easy detailerFix",...pipeNodes,...extraNodes]}},"easy samLoaderPipe":{from:{PIPE_LINE:["easy preDetailerFix",...pipeNodes,...extraNodes]}},"easy ultralyticsDetectorPipe":{from:{PIPE_LINE:["easy preDetailerFix",...pipeNodes,...extraNodes]}},"easy cascadeLoader":{from:{PIPE_LINE:["easy fullCascadeKSampler","easy preSamplingCascade",...controlNetNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes.filter((e=>!ipadapterNodes.includes(e)))}},"easy fullCascadeKSampler":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced",...pipeNodes,...extraNodes]}},"easy preSamplingCascade":{from:{PIPE_LINE:["easy cascadeKSampler",...pipeNodes,...extraNodes]}},"easy cascadeKSampler":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced",...pipeNodes,...extraNodes]}},"easy pipeEdit":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...extraNodes]},to:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}},"easy pipeEditPrompt":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...extraNodes]},to:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}}};class NullGraphError extends Error{constructor(e="Attempted to access LGraph reference that was null or undefined.",t){super(e,{cause:t}),this.name="NullGraphError"}}function drawTime(e,t){t&&(t=parseFloat(t).toFixed(3)+$t("s"),e.save(),e.fillStyle=LiteGraph.NODE_DEFAULT_BGCOLOR,drawRoundedRect(e,0,-LiteGraph.NODE_TITLE_HEIGHT-20,e.measureText(t).width+10,LiteGraph.NODE_TITLE_HEIGHT-10,4),e.fill(),drawText(e,t,8,-LiteGraph.NODE_TITLE_HEIGHT-6,LiteGraph.NODE_TITLE_COLOR),e.restore())}app$1.registerExtension({name:"Comfy.EasyUse.Suggestions",async setup(e){const t=LGraphCanvas.prototype.createDefaultNodeForSlot;LGraphCanvas.prototype.createDefaultNodeForSlot=function(e){var i;const s=Object.assign({nodeFrom:null,slotFrom:null,nodeTo:null,slotTo:null,position:[],nodeType:null,posAdd:[0,0],posSizeFix:[0,0]},e||{}),o=this,a=s.nodeFrom&&null!==s.slotFrom,n=!a&&s.nodeTo&&null!==s.slotTo,l=a?s.nodeFrom:s.nodeTo;if(!l||!Object.keys(suggestions).includes(l.type))return t.call(this,e);if(!a&&!n)return!1;if(!s.nodeType)return!1;const r=a?s.nodeFrom:s.nodeTo;if(!r)throw new TypeError("nodeX was null when creating default node for slot.");const d=r.type;let u=a?s.slotFrom:s.slotTo,p=!1;switch(typeof u){case"string":p=a?r.findOutputSlot(u,!1):r.findInputSlot(u,!1),u=a?r.outputs[u]:r.inputs[u];break;case"object":if(null===u)return!1;p=a?r.findOutputSlot(u.name):r.findInputSlot(u.name);break;case"number":p=u,u=a?r.outputs[u]:r.inputs[u];break;default:return!1}var c=u.type==LiteGraph.EVENT?"_event_":u.type,A=a?LiteGraph.slot_types_default_out:LiteGraph.slot_types_default_in;if(null==A?void 0:A[c]){let e=!1;const t=a?"from":"to";if(suggestions[d]&&suggestions[d][t]&&(null==(i=suggestions[d][t][c])?void 0:i.length)>0){for(var g in suggestions[d][t][c])if(s.nodeType==suggestions[d][t][c][g]||"AUTO"==s.nodeType){e=suggestions[d][t][c][g];break}}else if("object"==typeof A[c]||"array"==typeof A[c]){for(var g in A[c])if(s.nodeType==A[c][g]||"AUTO"==s.nodeType){e=A[c][g];break}}else s.nodeType!=A[c]&&"AUTO"!=s.nodeType||(e=A[c]);if(e){var h=!1;"object"==typeof e&&e.node&&(h=e,e=e.node);var m=LiteGraph.createNode(e);if(m){if(h){if(h.properties)for(var f in h.properties)m.addProperty(f,h.properties[f]);if(h.inputs)for(var f in m.inputs=[],h.inputs)m.addOutput(h.inputs[f][0],h.inputs[f][1]);if(h.outputs)for(var f in m.outputs=[],h.outputs)m.addOutput(h.outputs[f][0],h.outputs[f][1]);h.title&&(m.title=h.title),h.json&&m.configure(h.json)}o.graph.add(m),m.pos=[s.position[0]+s.posAdd[0]+(s.posSizeFix[0]?s.posSizeFix[0]*m.size[0]:0),s.position[1]+s.posAdd[1]+(s.posSizeFix[1]?s.posSizeFix[1]*m.size[1]:0)];const e={node:m,opts:s};if(!this.canvas.dispatchEvent(new CustomEvent("connect-new-default-node",{detail:e,cancelable:!0})))return!0;if(a){if(!s.nodeFrom)throw new TypeError("createDefaultNodeForSlot - nodeFrom was null");s.nodeFrom.connectByType(p,m,c)}else{if(!s.nodeTo)throw new TypeError("createDefaultNodeForSlot - nodeTo was null");s.nodeTo.connectByTypeOutput(p,m,c)}return!0}}}return!1};let i=LGraphCanvas.prototype.showConnectionMenu;LGraphCanvas.prototype.showConnectionMenu=function(e){var t;const s=Object.assign({nodeFrom:null,slotFrom:null,nodeTo:null,slotTo:null,e:void 0,allow_searchbox:this.allow_searchbox,showSearchBox:this.showSearchBox},e||{}),o=this,{graph:a}=this,{afterRerouteId:n}=s,l=s.nodeFrom&&s.slotFrom,r=!l&&s.nodeTo&&s.slotTo,d=l?s.nodeFrom:s.nodeTo;if(!d||!Object.keys(suggestions).includes(d.type))return i.call(this,e);if(!l&&!r)return!1;const u=l?s.nodeFrom:s.nodeTo;if(!u)throw new TypeError("nodeX was null when creating default node for slot.");let p=l?s.slotFrom:s.slotTo,c=!1;switch(typeof p){case"string":c=l?u.findOutputSlot(p,!1):u.findInputSlot(p,!1),p=l?u.outputs[p]:u.inputs[p];break;case"object":if(null===p)return;c=l?u.findOutputSlot(p.name):u.findInputSlot(p.name);break;case"number":c=p,p=l?u.outputs[p]:u.inputs[p];break;default:return!1}const A=["Add Node","Add Reroute",null];s.allow_searchbox&&A.push("Search",null);var g=p.type==LiteGraph.EVENT?"_event_":p.type,h=l?LiteGraph.slot_types_default_out:LiteGraph.slot_types_default_in,m=u.type;if(h&&h[g]){const e=l?"from":"to";if(suggestions[m]&&suggestions[m][e]&&(null==(t=suggestions[m][e][g])?void 0:t.length)>0)for(var f in suggestions[m][e][g])A.push(suggestions[m][e][g][f]);else if("object"==typeof h[g]||"array"==typeof h[g])for(var f in h[g])A.push(h[g][f]);else A.push(h[g])}var y=new LiteGraph.ContextMenu(A,{event:s.e,extra:p,title:(p&&""!=p.name?p.name+(g?" | ":""):"")+(p&&g?g:""),callback:function(e,t,i){var r,d;switch(e){case"Add Node":LGraphCanvas.onMenuAdd(null,null,i,y,(function(e){var t,i;e&&(l?null==(t=s.nodeFrom)||t.connectByType(c,e,g,{afterRerouteId:n}):null==(i=s.nodeTo)||i.connectByTypeOutput(c,e,g,{afterRerouteId:n}))}));break;case"Add Reroute":const u=l?s.nodeFrom:s.nodeTo,A=t.extra;if(!a)throw new NullGraphError;if(!u)throw new TypeError("Cannot add reroute: node was null");if(!A)throw new TypeError("Cannot add reroute: slot was null");if(!s.e)throw new TypeError("Cannot add reroute: CanvasPointerEvent was null");if(!u.connectFloatingReroute([s.e.canvasX,s.e.canvasY],A,n))throw new Error("Failed to create reroute");o.dirty_canvas=!0,o.dirty_bgcanvas=!0;break;case"Search":l?s.showSearchBox(i,{node_from:s.nodeFrom,slot_from:p,type_filter_in:g}):s.showSearchBox(i,{node_to:s.nodeTo,slot_from:p,type_filter_out:g});break;default:const h={position:[(null==(r=s.e)?void 0:r.canvasX)??0,(null==(d=s.e)?void 0:d.canvasY)??0],nodeType:e,afterRerouteId:n};o.createDefaultNodeForSlot(Object.assign(s,h))}}});return y}}}),app$1.registerExtension({name:"Comfy.EasyUse.TimeTaken",setup(){let e=new Map,t=0;api.addEventListener("execution_start",(e=>{graph&&graph._nodes.forEach((e=>{e.executionDuration&&delete e.executionDuration}))})),api.addEventListener("executing",(i=>{if(!getSetting("EasyUse.Nodes.Runtime",null))return;const s=(null==i?void 0:i.node)||(null==i?void 0:i.detail)||null,o=e.get(t);if(e.delete(t),t&&o){const e=Date.now()-o,i=getNodeById(t);i&&(i.executionDuration||(i.executionDuration=0),i.executionDuration=i.executionDuration+e/1e3)}t=s,e.set(s,Date.now())}))},beforeRegisterNodeDef(e,t){const i=e.prototype.onDrawForeground;e.prototype.onDrawForeground=function(...e){const[t]=e;return drawTime(t,this.executionDuration),null==i?void 0:i.apply(this,e)}}});let nodesStore=null;app$1.registerExtension({name:"Comfy.EasyUse.HotKeys",setup(){if(void 0!==hotkeys){hotkeys("up,down,left,right",(function(e,t){var i,s,o,a,n,l,r,d,u,p,c,A,g,h,m;e.preventDefault();if(!getSetting("EasyUse.Hotkeys.JumpNearestNodes",null))return;const f=getSelectedNodes();if(0===f.length)return;const y=f[0];switch(t.key){case"up":case"left":let e=null;if(isGetNode(y)){const e=null==(i=y.widgets_values)?void 0:i[0],t=null==(s=y.graph)?void 0:s._nodes,o=null==t?void 0:t.find((t=>{var i;if(isSetNode(t)){if((null==(i=t.widgets_values)?void 0:i[0])===e)return t}return null}));o&&jumpToNode(o)}else if((null==(o=y.inputs)?void 0:o.length)>0){for(let t=0;t{var i;if(isGetNode(t)){if((null==(i=t.widgets_values)?void 0:i[0])===e)return t}return null}));i&&jumpToNode(i)}else if((null==(p=y.outputs)?void 0:p.length)>0){for(let e=0;e0&&y.outputs[e].links[0]){t=y.outputs[e].links[0];break}if(t){const e=null==(A=y.graph)?void 0:A.links;if(e[t]){const i=null==(g=e[t])?void 0:g.target_id,s=null==(m=null==(h=y.graph)?void 0:h._nodes_by_id)?void 0:m[i];s&&jumpToNode(s)}}}}})),hotkeys("shift+up,shift+down,shift+left,shift+right,shift+alt+⌘+left,shift+alt+⌘+right,shift+alt+ctrl+left,shift+alt+ctrl+right",(function(e,t){e.preventDefault();if(!getSetting("EasyUse.Hotkeys.AlignSelectedNodes",null))return;const i=getSelectedNodes();if(i.length<=1)return;const s=i;switch(t.key){case"shift+up":LGraphCanvas.alignNodes(s,"top",s[0]);break;case"shift+down":LGraphCanvas.alignNodes(s,"bottom",s[0]);break;case"shift+left":LGraphCanvas.alignNodes(s,"left",s[0]);break;case"shift+right":LGraphCanvas.alignNodes(s,"right",s[0]);break;case"shift+alt+ctrl+left":case"shift+alt+⌘+left":distributeNodes(s,"horizontal");break;case"shift+alt+ctrl+right":case"shift+alt+⌘+right":distributeNodes(s,"vertical")}nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update()})),hotkeys("shift+⌘+left,shift+⌘+right,shift+ctrl+left,shift+ctrl+right",(function(e,t){e.preventDefault();if(!getSetting("EasyUse.Hotkeys.NormalizeSelectedNodes",null))return;const i=getSelectedNodes();if(i.length<=1)return;const s=i;switch(t.key){case"shift+ctrl+left":case"shift+⌘+left":setNodesSameSize(s,"width");break;case"shift+ctrl+right":case"shift+⌘+right":setNodesSameSize(s,"height")}nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update()})),hotkeys("shift+g",(function(e,t){e.preventDefault();getSetting("EasyUse.Hotkeys.AddGroup",null)&&(addSelectedNodesToGroup(),nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update())})),hotkeys("shift+r",(function(e,t){e.preventDefault();getSetting("EasyUse.Hotkeys.cleanVRAMused",null)&&cleanVRAM()})),hotkeys("shift+m",(function(e,t){var i,s,o;if(!getSetting("EasyUse.Hotkeys.toggleNodesMap",null))return;let a=(null==(i=app$1.extensionManager)?void 0:i.sidebarTab)||app$1.extensionManager,n=(null==(s=app$1.extensionManager.sidebarTab)?void 0:s.activeSidebarTabId)||(null==(o=app$1.extensionManager)?void 0:o.activeSidebarTab);a.activeSidebarTabId=n==NODES_MAP_ID?null:NODES_MAP_ID}));const e=[];Array.from(Array(10).keys()).forEach((t=>e.push(`alt+${t}`))),hotkeys(e.join(","),(async function(e,t){e.preventDefault();if(!getSetting("EasyUse.Hotkeys.NodesTemplate",null))return;const i=t.key;let s=parseInt(i.split("+")[1]);const o=await api.getUserData("comfy.templates.json");let a=null;if(200==o.status)try{a=await o.json()}catch(l){toast.error($t("Get Node Templates File Failed"))}else localStorage["Comfy.NodeTemplates"]?a=JSON.parse(localStorage["Comfy.NodeTemplates"]):toast.warn($t("No Node Templates Found"));if(!a)return void toast.warn($t("No Node Templates Found"));s=0===s?9:s-1;const n=a[s];if(n)try{const e=(null==n?void 0:n.name)||"Group",t=(null==n?void 0:n.data)?JSON.parse(n.data):[];clipboardAction((async()=>{await GroupNodeConfig.registerFromWorkflow(t.groupNodes,{}),localStorage.litegrapheditor_clipboard=n.data,app$1.canvas.pasteFromClipboard(),t.groupNodes||addSelectedNodesToGroup(e)}))}catch(l){toast.error(l)}else toast.warn($t("Node template with {key} not set").replace("{key}",i))}));const t=async function(e){if(("b"===e.key||"m"==e.key)&&(e.metaKey||e.ctrlKey)){if(0===getSelectedNodes().length)return;nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update()}};window.addEventListener("keydown",t,!0)}}});const clipboardAction=async e=>{const t=localStorage.litegrapheditor_clipboard;await e(),localStorage.litegrapheditor_clipboard=t},addSelectedNodesToGroup=e=>{const t=getSelectedNodes();if(0===t.length)return;const i=t;let s=new LiteGraph.LGraphGroup;s.title=e||"Group",addNodesToGroup(s,i),app$1.canvas.graph.add(s)};function links_with(e,t,i,s){const o=[];return e.workflow.links.forEach((e=>{i&&e[1]===t&&!o.includes(e[3])&&o.push(e[3]),s&&e[3]===t&&!o.includes(e[1])&&o.push(e[1])})),o}function _all_v_nodes(e,t){const i=[],s=[t];for(;s.length>0;){const t=s.pop();i.push(t),s.push(...links_with(e,t,!0,!1).filter((e=>!(i.includes(e)||s.includes(e)))))}s.push(...i.filter((e=>e!=t)));const o=[t];for(;s.length>0;){const t=s.pop();o.push(t),s.push(...links_with(e,t,!1,!0).filter((e=>!(o.includes(e)||s.includes(e)))))}const a=[];return a.push(...i),a.push(...o.filter((e=>!a.includes(e)))),a}async function restart_from_here(e,t=!1){const i=structuredClone(await app$1.graphToPrompt()),s=[];if(i.workflow.nodes.forEach((e=>{s.push(e.id)})),i.workflow.links=i.workflow.links.filter((e=>s.includes(e[1])&&s.includes(e[3]))),t)for(;!app$1.graph._nodes_by_id[e].isChooser;)e=links_with(i,e,!0,!1)[0];const o=_all_v_nodes(i,e);i.workflow.nodes=i.workflow.nodes.filter((t=>(t.id===e&&t.inputs.forEach((e=>{e.link=null})),o.includes(t.id)))),i.workflow.links=i.workflow.links.filter((e=>o.includes(e[1])&&o.includes(e[3])));const a={};for(const[r,d]of Object.entries(i.output))o.includes(parseInt(r))&&(a[r]=d);const n={};for(const[r,d]of Object.entries(a[e.toString()].inputs))Array.isArray(d)||(n[r]=d);a[e.toString()].inputs=n,i.output=a;const l=app$1.graphToPrompt;app$1.graphToPrompt=()=>(app$1.graphToPrompt=l,i),app$1.queuePrompt(0)}class HUD{constructor(){this.current_node_id=void 0,this.class_of_current_node=null,this.current_node_is_chooser=!1}update(){var e,t;return app$1.runningNodeId!=this.current_node_id&&(this.current_node_id=app$1.runningNodeId,this.current_node_id?(this.class_of_current_node=null==(t=null==(e=app$1.graph)?void 0:e._nodes_by_id[app$1.runningNodeId.toString()])?void 0:t.comfyClass,this.current_node_is_chooser="easy imageChooser"===this.class_of_current_node):(this.class_of_current_node=void 0,this.current_node_is_chooser=!1),!0)}}const hud=new HUD,_FlowState=class e{constructor(){}static idle(){return!app$1.runningNodeId}static paused(){return hud.current_node_is_chooser}static paused_here(t){return e.paused()&&e.here(t)}static running(){return!e.idle()}static here(e){return app$1.runningNodeId==e}static state(){return e.paused()?"Paused":e.running()?"Running":"Idle"}};__publicField(_FlowState,"cancelling",!1);let FlowState=_FlowState;function send_message(e,t){const i=new FormData;i.append("message",t),i.append("id",e),api.fetchApi("/easyuse/image_chooser_message",{method:"POST",body:i})}function send_cancel(){send_message(-1,"__cancel__"),FlowState.cancelling=!0,api.interrupt(),FlowState.cancelling=!1}var skip_next=0;function skip_next_restart_message(){skip_next+=1}function send_onstart(){return skip_next>0?(skip_next-=1,!1):(send_message(-1,"__start__"),!0)}const kSampler=["easy kSampler","easy kSamplerTiled","easy fullkSampler"],is_all_same_aspect_ratio=e=>{if(!e.length||1===e.length)return!0;const t=e[0].naturalWidth/e[0].naturalHeight;for(let i=1;is&&(s=v,l=f,r=y,d=c,u=e,p=c*((A-f)/2))}return{cellWidth:l,cellHeight:r,cols:d,rows:u,shiftX:p}}function display_preview_images(e){const t=app$1.graph._nodes_by_id[e.detail.id];if(t){t.selected_images=new Set,t.anti_selected=new Set;return{node:t,image:showImages(t,e.detail.urls),isKSampler:kSampler.includes(t.type)}}}function showImages(e,t){return e.imgs=[],t.forEach((t=>{const i=new Image;e.imgs.push(i),i.onload=()=>{app$1.graph.setDirtyCanvas(!0)},i.src=`/view?filename=${encodeURIComponent(t.filename)}&type=temp&subfolder=${app$1.getPreviewFormatParam()}`})),e.imgs}function drawRect(e,t,i){var s;if(e.imageRects)s=e.imageRects[t];else{const t=e.imagey;s=[1,t+1,e.size[0]-2,e.size[1]-t-2]}i.strokeRect(s[0]+1,s[1]+1,s[2]-2,s[3]-2)}function additionalDrawBackground(e,t,i=0){var s,o;if(!e.imgs)return;const a=app$1.canvas,n=a.graph_mouse,l=e.size[0];let r=e.size[1]-i-15;if(r<200&&(r=200,requestAnimationFrame((t=>{e.size[1]=i+15+200}))),null==e.imageIndex){let o,d,u,p;if(is_all_same_aspect_ratio(e.imgs))({cellWidth:o,cellHeight:d,cols:p,shiftX:u}=calculateImageGrid(e.imgs,l,r));else{const t=e.imgs.reduce(((e,t)=>Math.max(e,t.naturalWidth,t.naturalHeight)),0),i=[];i.length=null==(s=e.imgs)?void 0:s.length,i[0]={naturalWidth:t,naturalHeight:t},({cellWidth:o,cellHeight:d,cols:p,shiftX:u}=calculateImageGrid(i,l,r))}let c=!1,A=e.imgs.length;e.imageRects=[];for(let s=0;s{drawRect(e,i,t)})),t.strokeStyle="#F88",null==(o=null==e?void 0:e.anti_selected)||o.forEach((i=>{drawRect(e,i,t)}))}function click_is_in_image(e,t){var i,s;if((null==(i=e.imgs)?void 0:i.length)>1)for(var o=0;o0&&i0&&se.imagey)return 0;return-1}class chooserImageDialog extends ComfyDialog{constructor(){super(),this.node=null,this.select_index=[],this.dialog_div=null}show(e,t){this.select_index=[],this.node=t;const i=e.map(((e,i)=>{const s=$el("img",{src:e.src,onclick:e=>{this.select_index.includes(i)?(this.select_index=this.select_index.filter((e=>e!==i)),s.classList.remove("selected")):(this.select_index.push(i),s.classList.add("selected")),t.selected_images.has(i)?t.selected_images.delete(i):t.selected_images.add(i)}});return s}));super.show($el("div.comfyui-easyuse-chooser-dialog",[$el("h5.comfyui-easyuse-chooser-dialog-title",$t("Choose images to continue")),$el("div.comfyui-easyuse-chooser-dialog-images",i)]))}createButtons(){const e=super.createButtons();return e[0].onclick=e=>{FlowState.running()&&send_cancel(),super.close()},e.unshift($el("button",{type:"button",textContent:$t("Choose Selected Images"),onclick:e=>{FlowState.paused()&&send_message(this.node.id,[...this.node.selected_images,-1,...this.node.anti_selected]),FlowState.idle()&&(skip_next_restart_message(),restart_from_here(this.node.id).then((()=>{send_message(this.node.id,[...this.node.selected_images,-1,...this.node.anti_selected])}))),super.close()}})),e}}function progressButtonPressed(){const e=app$1.graph._nodes_by_id[this.node_id];if(e){const t=[...e.selected_images];(null==t?void 0:t.length)>0&&e.setProperty("values",t),FlowState.paused()&&(hud.current_node_is_chooser=!1,send_message(e.id,[...e.selected_images,-1,...e.anti_selected])),FlowState.idle()&&(skip_next_restart_message(),restart_from_here(e.id).then((()=>{send_message(e.id,[...e.selected_images,-1,...e.anti_selected])})))}}function cancelButtonPressed(){FlowState.running()&&send_cancel()}function enable_disabling(e){Object.defineProperty(e,"clicked",{get:function(){return this._clicked},set:function(e){this._clicked=e&&""!=this.name}})}function disable_serialize(e){e.options||(e.options={}),e.options.serialize=!1}function accSub(e,t){let i,s,o,a,n,l;n="string"==typeof e?e:e.toString(),l="string"==typeof t?t:t.toString();try{i=n.split(".")[1].length}catch(r){i=0}try{s=l.split(".")[1].length}catch(r){s=0}return o=Math.pow(10,Math.max(i,s)),a=i>=s?i:s,((e*o-t*o)/o).toFixed(a)}function accDiv(e,t){let i,s,o=0,a=0,n="string"==typeof e?e:e.toString(),l="string"==typeof t?t:t.toString();try{o=n.toString().split(".")[1].length}catch(r){}try{a=l.toString().split(".")[1].length}catch(r){}return i=Number(n.toString().replace(".","")),s=Number(l.toString().replace(".","")),i/s*Math.pow(10,a-o)}app$1.registerExtension({name:"Comfy.EasyUse.imageChooser",init(){window.addEventListener("beforeunload",(e=>{FlowState.paused()&&send_cancel()}),!0)},setup(e){const t=LGraphCanvas.prototype.draw;LGraphCanvas.prototype.draw=useTryCatchCallback(t,(function(){hud.update()&&e.graph._nodes.forEach((e=>{e.update&&e.update()})),t.apply(this,arguments)})),api.addEventListener("easyuse-image-choose",(function(e){const{node:t,image:i,isKSampler:s}=display_preview_images(e);if(s){hud.current_node_is_chooser=!0;(new chooserImageDialog).show(i,t)}}));const i=api.interrupt;api.interrupt=function(){FlowState.paused()&&!FlowState.cancelling&&send_cancel(),i.apply(this,arguments)},api.addEventListener("execution_start",(function(){send_onstart()&&e.graph._nodes.forEach((e=>{(e.selected_images||e.anti_selected)&&(e.selected_images.clear(),e.anti_selected.clear(),e.update&&e.update())}))}))},async nodeCreated(e,t){if("easy imageChooser"==e.comfyClass){e.setProperty("values",[]),void 0===(null==e?void 0:e.imageIndex)&&Object.defineProperty(e,"imageIndex",{get:function(){return null},set:function(t){e.overIndex=t}}),void 0===(null==e?void 0:e.imagey)&&setTimeout((t=>{e.imagey,Object.defineProperty(e,"imagey",{get:function(){return e.widgets[e.widgets.length-1].last_y+LiteGraph.NODE_WIDGET_HEIGHT},set:function(t){e.imagey=t}})}),100);const t=e.onMouseDown;e.onMouseDown=function(i,s,o){if(i.isPrimary){const t=click_is_in_image(e,s);t>=0&&this.imageClicked(t)}return t&&t.apply(this,arguments)},e.send_button_widget=e.addWidget("button","","",progressButtonPressed),e.cancel_button_widget=e.addWidget("button","","",cancelButtonPressed),enable_disabling(e.cancel_button_widget),enable_disabling(e.send_button_widget),disable_serialize(e.cancel_button_widget),disable_serialize(e.send_button_widget)}},beforeRegisterNodeDef(e,t,i){if("easy imageChooser"==(null==t?void 0:t.name)){e.prototype.onDrawBackground,e.prototype.onDrawBackground=function(e){additionalDrawBackground(this,e,this.imagey||0)},e.prototype.imageClicked=function(t){"easy imageChooser"===(null==e?void 0:e.comfyClass)&&(this.selected_images.has(t)?this.selected_images.delete(t):this.selected_images.add(t),this.update())};const t=e.prototype.update;e.prototype.update=function(){var e;if(t&&t.apply(this,arguments),this.send_button_widget){this.send_button_widget.node_id=this.id;const t=(this.selected_images?this.selected_images.size:0)+(this.anti_selected?this.anti_selected.size:0),i=(null==(e=this.imgs)?void 0:e.length)||0;FlowState.paused_here(this.id)&&t>0?this.send_button_widget.name=t>1?"Progress selected ("+t+"/"+i+")":"Progress selected image":this.send_button_widget.name=t>0?t>1?"Progress selected ("+t+"/"+i+")":"Progress selected image as restart":""}if(this.cancel_button_widget){const e=FlowState.running();this.cancel_button_widget.name=e?"Cancel current run":""}this.setDirtyCanvas(!0,!0)}}}}),Number.prototype.div=function(e){return accDiv(this,e)};let api_keys=[],api_current=0;const api_cost={sd3:6.5,"sd3-turbo":4};class AccountDialog extends ComfyDialog{constructor(){super(),this.lists=[],this.dialog_div=null,this.user_div=null}addItem(e,t){return $el("div.easyuse-account-dialog-item",[$el("input",{type:"text",placeholder:"Enter name",oninput:e=>{const t=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);api_keys[t].name=e.target.value},value:api_keys[e].name}),$el("input.key",{type:"text",oninput:e=>{const t=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);api_keys[t].key=e.target.value},placeholder:"Enter APIKEY",value:api_keys[e].key}),$el("button.choose",{textContent:$t("Choose"),onclick:async e=>{var i,s,o;const a=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);let n=api_keys[a].name,l=api_keys[a].key;if(!n)return void toast.error($t("Please enter the account name"));if(!l)return void toast.error($t("Please enter the APIKEY"));let r=!0;for(let t=0;t{(new AccountDialog).show(t)}},[$el("div.user",[$el("div.avatar",a?[$el("img",{src:a})]:"😀"),$el("div.info",[$el("h5.name",n),$el("h6.remark","Credits: "+l)])]),$el("div.edit",{textContent:$t("Edit")})])),toast.success($t("Save Succeed"))}else toast.success($t("Save Succeed"));this.close()}else toast.error($t("Save Failed"))}}),$el("button.delete",{textContent:$t("Delete"),onclick:e=>{const t=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);api_keys.length<=1?toast.error($t("At least one account is required")):(api_keys.splice(t,1),this.dialog_div.removeChild(e.target.parentNode))}})])}show(e){api_keys.forEach(((t,i)=>{this.lists.push(this.addItem(i,e))})),this.dialog_div=$el("div.easyuse-account-dialog",this.lists),super.show($el("div.easyuse-account-dialog-main",[$el("div",[$el("a",{href:"https://platform.stability.ai/account/keys",target:"_blank",textContent:$t("Getting Your APIKEY")})]),this.dialog_div]))}createButtons(){const e=super.createButtons();return e.unshift($el("button",{type:"button",textContent:$t("Save Account Info"),onclick:e=>{let t=!0;for(let i=0;i{200==e.status?toast.success($t("Save Succeed")):toast.error($t("Save Failed"))}))}else toast.error($t("APIKEY is not Empty"))}})),e.unshift($el("button",{type:"button",textContent:$t("Add Account"),onclick:e=>{const t="Account "+api_keys.length.toString();api_keys.push({name:t,key:""});const i=this.addItem(api_keys.length-1);this.lists.push(i),this.dialog_div.appendChild(i)}})),e}}app$1.registerExtension({name:"Comfy.EasyUse.API.SD3",async beforeRegisterNodeDef(e,t,i){if("easy stableDiffusion3API"==t.name){const t=e.prototype.onNodeCreated;e.prototype.onNodeCreated=async function(){var e,i,s;t&&(null==t||t.apply(this,arguments));const o=this.widgets.find((e=>["seed_num","seed"].includes(e.name))),a=this.widgets.find((e=>["control_before_generate","control_after_generate"].includes(e.name)));let n=this.widgets.find((e=>"model"==e.name));n.callback=e=>{l.value="-"+api_cost[e]};const l=this.addWidget("text","cost_credit","0",(e=>{}),{serialize:!1});l.disabled=!0,a&&setTimeout((e=>{"control before generate"==a.name&&0===o.value&&(o.value=Math.floor(4294967294*Math.random())),l.value="-"+api_cost[n.value]}),100);let r=$el("div.easyuse-account-user",[$t("Loading UserInfo...")]);this.addDOMWidget("account","btn",$el("div.easyuse-account",r)),api.addEventListener("stable-diffusion-api-generate-succeed",(async({detail:e})=>{var t;let i=r.querySelectorAll(".remark");if(i&&i[0]){const t=(null==e?void 0:e.model)?api_cost[e.model]:0;if(t){let e=accSub(parseFloat(i[0].innerText.replace(/Credits: /g,"")),t);e>0&&(i[0].innerText="Credits: "+e.toString())}}await sleep(1e4);const s=await api.fetchApi("/easyuse/stability/balance");if(200==s.status){const e=await s.json();if(null==e?void 0:e.balance){const s=(null==(t=e.balance)?void 0:t.credits)||0;i&&i[0]&&(i[0].innerText="Credits: "+s)}}}));const d=await api.fetchApi("/easyuse/stability/api_keys");if(200==d.status){let t=await d.json();if(api_keys=t.keys,api_current=t.current,api_keys.length>0&&void 0!==api_current){const t=api_keys[api_current].key,o=api_keys[api_current].name;if(t){const t=await api.fetchApi("/easyuse/stability/user_info");if(200==t.status){const o=await t.json();if((null==o?void 0:o.account)&&(null==o?void 0:o.balance)){const t=(null==(e=o.account)?void 0:e.profile_picture)||null,a=(null==(i=o.account)?void 0:i.email)||null,n=(null==(s=o.balance)?void 0:s.credits)||0;r.replaceChildren($el("div.easyuse-account-user-info",{onclick:e=>{(new AccountDialog).show(r)}},[$el("div.user",[$el("div.avatar",t?[$el("img",{src:t})]:"😀"),$el("div.info",[$el("h5.name",a),$el("h6.remark","Credits: "+n)])]),$el("div.edit",{textContent:$t("Edit")})]))}}}else r.replaceChildren($el("div.easyuse-account-user-info",{onclick:e=>{(new AccountDialog).show(r)}},[$el("div.user",[$el("div.avatar","😀"),$el("div.info",[$el("h5.name",o),$el("h6.remark",$t("Click to set the APIKEY first"))])]),$el("div.edit",{textContent:$t("Edit")})]))}}}}}});let activeDropdown=null;function removeDropdown(){activeDropdown&&(activeDropdown.removeEventListeners(),activeDropdown.dropdown.remove(),activeDropdown=null)}function createDropdown(e,t,i,s=!1){removeDropdown(),new Dropdown(e,t,i,s)}class Dropdown{constructor(e,t,i,s=!1){this.dropdown=document.createElement("ul"),this.dropdown.setAttribute("role","listbox"),this.dropdown.classList.add("easy-dropdown"),this.selectedIndex=-1,this.inputEl=e,this.suggestions=t,this.onSelect=i,this.isDict=s,this.focusedDropdown=this.dropdown,this.buildDropdown(),this.onKeyDownBound=this.onKeyDown.bind(this),this.onWheelBound=this.onWheel.bind(this),this.onClickBound=this.onClick.bind(this),this.addEventListeners()}buildDropdown(){this.isDict?this.buildNestedDropdown(this.suggestions,this.dropdown):this.suggestions.forEach(((e,t)=>{this.addListItem(e,t,this.dropdown)}));const e=this.inputEl.getBoundingClientRect();this.dropdown.style.top=e.top+e.height-10+"px",this.dropdown.style.left=e.left+"px",document.body.appendChild(this.dropdown),activeDropdown=this}buildNestedDropdown(e,t){let i=0;Object.keys(e).forEach((s=>{const o=e[s];if("object"==typeof o&&null!==o){const e=document.createElement("ul");e.setAttribute("role","listbox"),e.classList.add("easy-nested-dropdown");const a=document.createElement("li");a.classList.add("folder"),a.textContent=s,a.appendChild(e),a.addEventListener("mouseover",this.onMouseOver.bind(this,i,t)),t.appendChild(a),this.buildNestedDropdown(o,e),i+=1}else{const e=document.createElement("li");e.classList.add("item"),e.setAttribute("role","option"),e.textContent=s,e.addEventListener("mouseover",this.onMouseOver.bind(this,i,t)),e.addEventListener("mousedown",this.onMouseDown.bind(this,s)),t.appendChild(e),i+=1}}))}addListItem(e,t,i){const s=document.createElement("li");s.setAttribute("role","option"),s.textContent=e,s.addEventListener("mouseover",this.onMouseOver.bind(this,t)),s.addEventListener("mousedown",this.onMouseDown.bind(this,e)),i.appendChild(s)}addEventListeners(){document.addEventListener("keydown",this.onKeyDownBound),this.dropdown.addEventListener("wheel",this.onWheelBound),document.addEventListener("click",this.onClickBound)}removeEventListeners(){document.removeEventListener("keydown",this.onKeyDownBound),this.dropdown.removeEventListener("wheel",this.onWheelBound),document.removeEventListener("click",this.onClickBound)}onMouseOver(e,t){t&&(this.focusedDropdown=t),this.selectedIndex=e,this.updateSelection()}onMouseOut(){this.selectedIndex=-1,this.updateSelection()}onMouseDown(e,t){t.preventDefault(),this.onSelect(e),this.dropdown.remove(),this.removeEventListeners()}onKeyDown(e){const t=Array.from(this.focusedDropdown.children),i=t[this.selectedIndex];if(activeDropdown)if(38===e.keyCode)e.preventDefault(),this.selectedIndex=Math.max(0,this.selectedIndex-1),this.updateSelection();else if(40===e.keyCode)e.preventDefault(),this.selectedIndex=Math.min(t.length-1,this.selectedIndex+1),this.updateSelection();else if(39===e.keyCode){if(e.preventDefault(),i&&i.classList.contains("folder")){const e=i.querySelector(".easy-nested-dropdown");e&&(this.focusedDropdown=e,this.selectedIndex=0,this.updateSelection())}}else if(37===e.keyCode&&this.focusedDropdown!==this.dropdown){const e=this.focusedDropdown.closest(".easy-dropdown, .easy-nested-dropdown").parentNode.closest(".easy-dropdown, .easy-nested-dropdown");e&&(this.focusedDropdown=e,this.selectedIndex=Array.from(e.children).indexOf(this.focusedDropdown.parentNode),this.updateSelection())}else if((13===e.keyCode||9===e.keyCode)&&this.selectedIndex>=0){e.preventDefault(),i.classList.contains("item")&&(this.onSelect(t[this.selectedIndex].textContent),this.dropdown.remove(),this.removeEventListeners());const s=i.querySelector(".easy-nested-dropdown");s&&(this.focusedDropdown=s,this.selectedIndex=0,this.updateSelection())}else 27===e.keyCode&&(this.dropdown.remove(),this.removeEventListeners())}onWheel(e){const t=parseInt(this.dropdown.style.top);localStorage.getItem("Comfy.Settings.Comfy.InvertMenuScrolling")?this.dropdown.style.top=t+(e.deltaY<0?10:-10)+"px":this.dropdown.style.top=t+(e.deltaY<0?-10:10)+"px"}onClick(e){this.dropdown.contains(e.target)||e.target===this.inputEl||(this.dropdown.remove(),this.removeEventListeners())}updateSelection(){Array.from(this.focusedDropdown.children).forEach(((e,t)=>{t===this.selectedIndex?e.classList.add("selected"):e.classList.remove("selected")}))}}function generateNumList(e){const t=e.min||0,i=e.max||0,s=e.step||1;if(0===s)return[];const o=[];let a=t;for(;a<=i;){if(Number.isInteger(s))o.push(Math.round(a)+"; ");else{let e=a.toFixed(3);-0==e&&(e="0.000"),/\.\d{3}$/.test(e)||(e+="0"),o.push(e+"; ")}a+=s}return i>=0&&t>=0?o:o.reverse()}let plotDict={},currentOptionsDict={};function getCurrentOptionLists(e,t){String(e.id);const i=t.name,s=t.value.replace(/^(loader|preSampling):\s/,"");currentOptionsDict[i]?currentOptionsDict[i]!=plotDict[s]&&(currentOptionsDict[i]=plotDict[s]):currentOptionsDict={...currentOptionsDict,[i]:plotDict[s]}}function addGetSetters(e){if(e.widgets)for(const t of e.widgets)if("x_axis"===t.name||"y_axis"===t.name){let i=t.value;Object.defineProperty(t,"value",{get:()=>i,set(s){s!==i&&(i=s,getCurrentOptionLists(e,t))}})}}function dropdownCreator(e){if(e.widgets){const t=e.widgets.filter((e=>"customtext"===e.type&&!1!==e.dynamicPrompts||e.dynamicPrompts));for(const e of t){let t=function(e,t,s,o){return e&&(t[s]=e),t.map((e=>i(e,o))).filter((e=>""!==e)).join("")},i=function(e,t){if(e=s(e),o(e,t))return e+"; ";let i=a(e,t);return 1===i.length||2===i.length?i[0]:o(n(e),t)?n(e)+"; ":""},s=function(e){return e.replace(/(\n|;| )/g,"")},o=function(e,t){return t.includes(e+"; ")},a=function(e,t){return t.filter((t=>t.toLowerCase().includes(e.toLowerCase())))},n=function(e){return Number(e)?Number(e).toFixed(3):["0","0.","0.0","0.00","00"].includes(e)?"0.000":e};const l=function(){const i=e.name[0]+"_axis";let s=(null==currentOptionsDict?void 0:currentOptionsDict[i])||[];if(0===s.length)return;const o=e.inputEl.value,a=e.inputEl.selectionStart;let n=o.split("; ");const l=o.substring(0,a).split("; ").length-1,r=n[l].replace(/\n/g,"").toLowerCase(),d=s.filter((e=>e.toLowerCase().includes(r))).map((e=>e.replace(/; /g,"")));if(d.length>0)createDropdown(e.inputEl,d,(i=>{const o=t(i,n,l,s);e.inputEl.value=o}));else{removeDropdown();const i=t(null,n,l,s);e.inputEl.value=i}};e.inputEl.removeEventListener("input",l),e.inputEl.addEventListener("input",l),e.inputEl.removeEventListener("mouseup",l),e.inputEl.addEventListener("mouseup",l)}}}app$1.registerExtension({name:"Comfy.EasyUse.XYPlot",async beforeRegisterNodeDef(e,t,i){if("easy XYPlot"===t.name){plotDict=t.input.hidden.plot_dict[0];for(const e in plotDict){const t=plotDict[e];if(Array.isArray(t)){let i=[];for(const e of t)i.push(e+"; ");plotDict[e]=i}else plotDict[e]="object"==typeof t?"seed"==e?t+"; ":generateNumList(t):t+"; "}plotDict.None=[],plotDict["---------------------"]=[]}},nodeCreated(e){"easy XYPlot"===e.comfyClass&&(addGetSetters(e),dropdownCreator(e))}});const useDomWidgetStore=defineStore("domWidget",(()=>{const e=ref(new Map);return{widgetStates:e,registerWidget:t=>{e.value.set(t.id,{widget:markRaw(t),visible:!0,readonly:!1,zIndex:0,pos:[0,0],size:[0,0]})},unregisterWidget:t=>{e.value.delete(t)}}})),generateUUID=()=>"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})),isDOMWidget=e=>"element"in e&&!!e.element,isComponentWidget=e=>"component"in e&&!!e.component,_BaseDOMWidgetImpl=class e{constructor(e){this.type=e.type,this.name=e.name,this.options=e.options,this.id=generateUUID(),this.node=e.node,this.y=0}get value(){var e,t;return(null==(t=(e=this.options).getValue)?void 0:t.call(e))??""}set value(e){var t,i,s;null==(i=(t=this.options).setValue)||i.call(t,e),null==(s=this.callback)||s.call(this,this.value)}get margin(){return this.options.margin??e.DEFAULT_MARGIN}isVisible(){return!["hidden"].includes(this.type)&&this.node.isWidgetVisible(this)}draw(e,t,i,s,o,a){var n,l;if(this.options.hideOnZoom&&a&&this.isVisible()){const t=e.fillStyle;e.beginPath(),e.fillStyle=LiteGraph.WIDGET_BGCOLOR,e.rect(this.margin,s+this.margin,i-2*this.margin,(this.computedHeight??o)-2*this.margin),e.fill(),e.fillStyle=t}null==(l=(n=this.options).onDraw)||l.call(n,this)}onRemove(){useDomWidgetStore().unregisterWidget(this.id)}};__publicField(_BaseDOMWidgetImpl,"DEFAULT_MARGIN",10);let BaseDOMWidgetImpl=_BaseDOMWidgetImpl;class ComponentWidgetImpl extends BaseDOMWidgetImpl{constructor(e){super({...e,type:"custom"}),this.component=e.component,this.inputSpec=e.inputSpec}computeLayoutSize(){var e,t,i,s;return{minHeight:(null==(t=(e=this.options).getMinHeight)?void 0:t.call(e))??45,maxHeight:(null==(s=(i=this.options).getMaxHeight)?void 0:s.call(i))??45,minWidth:120}}serializeValue(){return toRaw(this.value)}}const _hoisted_1$1={class:"w-full flex justify-between items-center"},_hoisted_2={class:"flex justify-start items-center flex-1 gap-2"},_hoisted_3={class:"flex justify-end items-center tool ml-2 position-relative"},_sfc_main$1={__name:"promptAwait",props:{widget:{required:!0},widgetModifiers:{}},emits:["update:widget"],setup(e){const t=useModel(e,"widget"),i=ref(!1),s=ref(!1);let o=null;const a=()=>{if(s.value)return;const e=window.SpeechRecognition||window.webkitSpeechRecognition;e&&(s.value=!0,o||(o=new e,o.interimResults=!1),o.start(),o.addEventListener("result",(e=>{var i;const s=e.results[0][0].transcript;let o=null==(i=t.value)?void 0:i.node,a=getWidgetByName(o,"prompt");a&&(a.value+=s)})),o.addEventListener("end",(()=>{s.value=!1,o=null})),o.addEventListener("error",(e=>{})))},n=()=>{s.value&&o&&o.stop()};onMounted((e=>{api.addEventListener("easyuse_prompt_await",(e=>{var s,o,a,n;const l=e.detail.id,d=-1!==(null==(s=t.value)?void 0:s.node.id).toString().indexOf(":")?(null==(o=t.value)?void 0:o.node.id).toString().split(":")[0]:null==(a=t.value)?void 0:a.node.id;parseInt(l)===parseInt(d)&&(i.value=!0,r("last_seed",(null==(n=t.value.value)?void 0:n.seed)||0),r("seed",Math.floor(Math.random()*MAX_SEED_NUM)))}));const s=api.interrupt;api.interrupt=function(){!i.value&&app$1.runningNodeId||(l(JSON.stringify({result:-1,prompt:"",select:"now"}),!0),i.value=!1),s.apply(this,arguments)}}));const l=(e,s)=>{var o,a,n,l,d,u,p,c,A;if(!i.value&&!s)return;const g=new FormData,h=null==(o=t.value)?void 0:o.node,m=-1!==(null==(a=t.value)?void 0:a.node.id).toString().indexOf(":")?(null==(n=t.value)?void 0:n.node.id).toString().split(":")[0]:null==(l=t.value)?void 0:l.node.id,f=(null==(d=getWidgetByName(h,"prompt"))?void 0:d.value)||"";let y=null==(u=t.value.value)?void 0:u.select,v=(null==(p=t.value.value)?void 0:p.last_seed)||0,_=(null==(c=t.value.value)?void 0:c.seed)||0,w=(null==(A=t.value.value)?void 0:A.unlock)||!1;g.append("message",JSON.stringify({result:e,prompt:f,select:y,last_seed:v,seed:_,unlock:w})),g.append("id",m),i.value=!1,api.fetchApi("/easyuse/message_callback",{method:"POST",body:g}).then((e=>{r("select","now")}))},r=(e,i)=>{t.value.value||(t.value.value={}),t.value.value[e]=i};return(e,o)=>(openBlock(),createElementBlock("div",_hoisted_1$1,[createBaseVNode("div",_hoisted_2,[createVNode(unref(script),{disabled:!Boolean(i.value),label:unref($t)("Continue"),size:"small",style:{height:"20px","font-size":"12px","white-space":"nowrap",padding:"0 8px"},onClick:o[0]||(o[0]=e=>l(1))},null,8,["disabled","label"]),createVNode(unref(script),{disabled:!Boolean(i.value),label:unref($t)("Stop"),severity:"danger",size:"small",style:{height:"20px","font-size":"12px","white-space":"nowrap",padding:"0 8px"},onClick:o[1]||(o[1]=e=>l(-1))},null,8,["disabled","label"]),createVNode(unref(script$1),{class:"easyuse-prompt-await-select",modelValue:t.value.value.select,"onUpdate:modelValue":o[2]||(o[2]=e=>t.value.value.select=e),options:[{name:unref($t)("now"),value:"now"},{name:unref($t)("prev"),value:"prev"}],optionLabel:"name",optionValue:"value",size:"small",style:{flex:"1",height:"24px","line-height":"10px","min-width":"70px","max-width":"100px"}},null,8,["modelValue","options"])]),createBaseVNode("div",_hoisted_3,[withDirectives(createVNode(unref(script),{style:{"--p-button-sm-font-size":"11px"},size:"small",icon:t.value.value.unlock?"pi pi-unlock":"pi pi-lock",severity:t.value.value.unlock?"contrast":"warn",variant:"text",onClick:o[3]||(o[3]=e=>t.value.value.unlock=!t.value.value.unlock),rounded:""},null,8,["icon","severity"]),[[unref(Tooltip),{value:t.value.value.unlock?"随机种子":"锁定种子值",class:"jm-tooltip"},"top"]]),s.value?withDirectives((openBlock(),createBlock(unref(script),{key:0,size:"small",icon:"pi pi-pause-circle",severity:"info",variant:"outlined",onClick:n,rounded:""},null,512)),[[unref(Tooltip),{value:unref($t)("Stop Recording"),class:"jm-tooltip"},"top"]]):withDirectives((openBlock(),createBlock(unref(script),{key:1,size:"small",icon:"pi pi-microphone",severity:"contrast",variant:"text",onClick:a,rounded:""},null,512)),[[unref(Tooltip),{value:unref($t)("Voice input"),class:"jm-tooltip"},"top"]])])]))}},_hoisted_1={class:"easyuse-multiselect"},_sfc_main={__name:"MultiSelectWidget",props:mergeModels(["widget"],{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){var t,i,s,o;const a=Object.keys(HUMAN_SEGMENTATION).reduce(((e,t)=>(Array.isArray(HUMAN_SEGMENTATION[t])?e[t]=HUMAN_SEGMENTATION[t].map(((e,t)=>({label:e,value:t}))):"object"==typeof HUMAN_SEGMENTATION[t]?e[t]=Object.entries(HUMAN_SEGMENTATION[t]).map((([e,t])=>({label:e,value:t}))):e[t]=[],e)),{}),n=useModel(e,"modelValue"),l=e.widget.inputSpec,r=(null==(t=l.multi_select)?void 0:t.max_selected_labels)??3,d=l.optionLabel??"label",u=l.optionValue??"value",p=(null==(i=l.multi_select)?void 0:i.placeholder)?$t(null==(s=l.multi_select)?void 0:s.placeholder):$t("select items"),c=(null==(o=l.multi_select)?void 0:o.chip)?"chip":"comma",A=ref(l.options??[]),g=e=>{e&&a[e]?A.value=a[e].map(((e,t)=>({label:$t(e.label),value:e.value}))):A.value=[]};return onMounted((t=>{if("easy humanSegmentation"==e.widget.node.type){const t=getWidgetByName(e.widget.node,"method");g(t.value),t.callback=e=>{n.value=[],g(e)}}})),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1,[createVNode(unref(script$2),{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=e=>n.value=e),options:A.value,optionLabel:unref(d),optionValue:unref(u),appendTo:"self",filter:"",placeholder:unref(p),"max-selected-labels":unref(r),display:unref(c),class:"w-full easyuse-multiselect-container"},null,8,["modelValue","options","optionLabel","optionValue","placeholder","max-selected-labels","display"])]))}};app$1.registerExtension({name:"Comfy.EasyUse.CustomWidget",getCustomWidgets:e=>({EASY_PROMPT_AWAIT_BAR:(e,t,i,s)=>{const o=ref({select:"now",unlock:!0,last_seed:0,seed:0}),a=new ComponentWidgetImpl({node:e,name:t,component:_sfc_main$1,inputSpec:{type:"custom",name:t},options:{getValue:()=>o.value,setValue:e=>{e&&(o.value=e)}}});return e.addCustomWidget(a),e.onRemoved=useChainCallback(e.onRemoved,(()=>{var e;null==(e=a.onRemove)||e.call(a)})),e.onResize=useChainCallback(e.onResize,(()=>{var t,i;null==(t=a.options.beforeResize)||t.call(a,e),null==(i=a.options.afterResize)||i.call(a,e)})),useDomWidgetStore().registerWidget(a),a},EASY_COMBO:(e,t,i,s)=>{const o=ref([]),a={type:"custom",name:t,options:null==i?void 0:i[1].options,multi_select:null==i?void 0:i[1].multi_select},n=!!["obsidian","obsidian_dark","milk_white"].includes(getSetting("Comfy.ColorPalette"))?22:26,l=new ComponentWidgetImpl({node:e,name:t,component:_sfc_main,inputSpec:a,options:{margin:0,getMinHeight:()=>n,getMaxHeight:()=>n,getValue:()=>o.value,setValue:e=>{e&&(Array.isArray(e)?o.value=e:o.value=e.split(",").map((e=>parseInt(e))))}}});return e.addCustomWidget(l),e.onRemoved=useChainCallback(e.onRemoved,(()=>{var e;null==(e=l.onRemove)||e.call(l)})),e.onResize=useChainCallback(e.onResize,(()=>{var t,i;null==(t=l.options.beforeResize)||t.call(l,e),null==(i=l.options.afterResize)||i.call(l,e)})),useDomWidgetStore().registerWidget(l),l}})});export{$t as $,NODE_MODE as N,api as a,app$1 as b,getWidgetByName as c,toggleWidget as d,cleanVRAM as e,isComponentWidget as f,getSetting as g,useDomWidgetStore as h,isDOMWidget as i,jumpToNodeId as j,useChainCallback as k,NODES_MAP_ID as l,getSettingsLookup as m,sleep as s,toast as t,useNodesStore as u}; diff --git a/web_version/v2/assets/extensions-QJQxdpGv.js b/web_version/v2/assets/extensions-QJQxdpGv.js new file mode 100644 index 0000000..fdeff72 --- /dev/null +++ b/web_version/v2/assets/extensions-QJQxdpGv.js @@ -0,0 +1 @@ +var __defProp=Object.defineProperty,__typeError=e=>{throw TypeError(e)},__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__publicField=(e,t,i)=>__defNormalProp(e,"symbol"!=typeof t?t+"":t,i),__accessCheck=(e,t,i)=>t.has(e)||__typeError("Cannot "+i),__privateGet=(e,t,i)=>(__accessCheck(e,t,"read from private field"),i?i.call(e):t.get(e)),__privateAdd=(e,t,i)=>t.has(e)?__typeError("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),__privateSet=(e,t,i,s)=>(__accessCheck(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),__privateMethod=(e,t,i)=>(__accessCheck(e,t,"access private method"),i),_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_pos,_size,_node,_value,_ComboWidget_instances,getValues_fn,canUseButton_fn,tryChangeValue_fn;import{d as defineStore,h as hotkeys,s as script,a as script$1,T as Tooltip,b as script$2,c as storeToRefs,e as script$3,f as script$4,g as script$5,i as script$6}from"./vendor-BWlTOcRr.js";import{c as cloneDeep}from"./lodash-CZi7izHi.js";import{r as ref,m as markRaw,t as toRaw,u as useModel,o as onMounted,a as openBlock,c as createElementBlock,b as createBaseVNode,d as createVNode,e as unref,w as withDirectives,f as createBlock,g as mergeModels,n as normalizeStyle,h as renderSlot,i as computed,j as watch,k as normalizeClass,l as createCommentVNode,p as withCtx,q as toDisplayString,s as withModifiers,v as reactive,F as Fragment,x as renderList}from"./vue-DAoaJb2i.js";import{u as useEventListener,a as useIntersectionObserver,b as useMouseInElement,c as useElementHover}from"./vueuse-CqzKat4r.js";let app$1=(null==(_b=null==(_a=window.comfyAPI)?void 0:_a.app)?void 0:_b.app)||null,api=(null==(_d=null==(_c=window.comfyAPI)?void 0:_c.api)?void 0:_d.api)||null,$el=(null==(_f=null==(_e=window.comfyAPI)?void 0:_e.ui)?void 0:_f.$el)||null,ComfyDialog=(null==(_h=null==(_g=window.comfyAPI)?void 0:_g.dialog)?void 0:_h.ComfyDialog)||null,ComfyWidgets=(null==(_j=null==(_i=window.comfyAPI)?void 0:_i.widgets)?void 0:_j.ComfyWidgets)||null,applyTextReplacements=(null==(_l=null==(_k=window.comfyAPI)?void 0:_k.utils)?void 0:_l.applyTextReplacements)||null,GroupNodeConfig=(null==(_n=null==(_m=window.comfyAPI)?void 0:_m.groupNode)?void 0:_n.GroupNodeConfig)||null,registerExtension=e=>{try{app$1.registerExtension(e)}catch(t){}};const getUserSettingsValue=e=>{var t,i;return e?null==(i=null==(t=null==app$1?void 0:app$1.ui)?void 0:t.settings)?void 0:i.getSettingValue(e):null};function getSetting(e,t=null){try{let i=e?getUserSettingsValue(e):null;return null==i&&(i=t?localStorage[t]:localStorage[e]||null),i}catch(i){return null}}function getSettingsLookup(e,t=e=>{}){var i;const s=null==(i=app$1.ui.settings.settingsLookup)?void 0:i[e];s&&(s.onChange=e=>t(e))}async function setSetting(e,t,i=null){var s,o;if(!e)throw new Error("Invalid arguments");try{(null==(o=null==(s=null==app$1?void 0:app$1.ui)?void 0:s.settings)?void 0:o.setSettingValue)?app$1.ui.settings.setSettingValue(e,t):await api.storeSetting(e,t),i&&(localStorage[i]="object"==typeof t?JSON.stringify(t):t)}catch(a){}}function addSetting(e){app$1.ui.settings.settingsLookup[e.id]||app$1.ui.settings.addSetting(e)}function getLocale(){return getSetting("Comfy.Locale")}const zhCN={"Workflow created by":"工作流创建者","Watch more video content":"观看更多视频内容","Workflow Guide":"工作流指南","💎 View Checkpoint Info...":"💎 查看 Checkpoint 信息...","💎 View Lora Info...":"💎 查看 Lora 信息...","🔃 Reload Node":"🔃 刷新节点","Updated At:":"最近更新:","Created At:":"首次发布:","✏️ Edit":"✏️ 编辑","💾 Save":"💾 保存","No notes":"当前还没有备注内容","Saving Notes...":"正在保存备注...","Type your notes here":"在这里输入备注内容",ModelName:"模型名称","Models Required":"所需模型","Download Model":"下载模型","Source Url":"模型源地址",Notes:"备注",Type:"类型","Trained Words":"训练词",BaseModel:"基础算法",Details:"详情",Description:"描述",Download:"下载量",Source:"来源","Saving Preview...":"正在保存预览图...","Saving Succeed":"保存成功","Clean SuccessFully":"清理成功","Clean Failed":"清理失败","Saving Failed":"保存失败","No COMBO link":"沒有找到COMBO连接","Reboot ComfyUI":"重启ComfyUI","Are you sure you'd like to reboot the server?":"是否要重启ComfyUI?","NODES MAP":"管理节点组","Nodes Map (shift + m)":"节点组 (shift + m)","Nodes map sorting mode":"管理节点组排序模式","Search by Node ID/Name...":"通过节点ID/名称搜索...","No Nodes":"未找到节点","No nodes found in the map":"在工作流程中没有找到节点","No nodes found in the search":"未找到与搜索匹配的节点","Jump to this node":"跳转到该节点","Rename node":"重命名节点","Delete node":"删除节点","Rename group":"重命名组","Delete group":"删除组","Expand All":"展开所有组","Collapse All":"折叠所有组",Close:"关闭","Default automatic sorting, if set to manual, groups can be dragged and dropped and the sorting results saved.":"默认自动排序,如果设置为手动,组可以拖放并保存排序结果。","For drag and drop sorting, please find Nodes map sorting mode in Settings->EasyUse and change it to manual":"如需拖拽排序请在设置->EasyUse节点中找到管理节点组排序模式并修改成 manual",Queue:"队列","Cleanup Of VRAM Usage":"清理显存占用","Please stop all running tasks before cleaning GPU":"请在清理GPU之前停止所有运行中的任务",Always:"启用中",Bypass:"已忽略",Never:"已停用","Auto Sorting":"自动排序","Toggle `Show/Hide` can set mode of group, LongPress can set group nodes to never":"点击`启用中/已忽略`可设置组模式, 长按可停用该组节点","Enable Shift+Up/Down/Left/Right key and Shift+Ctrl+Alt+Left/Right to align selected nodes":"启用 Shift+上/下/左/右 和 Shift+Ctrl+Alt+左/右 键对齐选中的节点","Enable Shift+Ctrl+Left/Right key to normalize selected nodes":"启用 Shift+Ctrl+左/右 键规范化选中的节点","Enable Shift+g to add selected nodes to a group":"启用 Shift+g 键将选中的节点添加一个组","Enable Shift+r to unload models and node cache":"启用 Shift+r 键卸载模型和节点缓存","Enable Shift+m to toggle nodes map":"启用 Shift+m 键显隐管理节点组","Enable Up/Down/Left/Right key to jump nearest nodes":"启用 上/下/左/右 键跳转到最近的前后节点","Enable Alt+1~9 to paste nodes from nodes template":"启用 Alt+1~9 从节点模板粘贴到工作流中","Enable contextMenu auto nest subdirectories":"启用上下文菜单自动嵌套子目录","Enable right-click menu to add node A~Z sorting":"启用右键菜单中新建节点A~Z排序","Enable model thumbnails display":"启动模型预览图显示","Enable nodes runtime display":"启动节点运行时间显示","Enable chain get node and set node with parent nodes":"启用将获取点和设置点与父节点链在一起","Maximum number of model thumbnails displayed":"显示的模型缩略图的最大数量","Too many thumbnails will affect the first loading time, set the maximum value to not load the thumbnail function when there are too many models's thumbnail":"太多的缩略图会影响首次加载时间,当模型缩略图太多时,设置最大值以不加载缩略图功能","Too many thumbnails, have closed the display":"模型缩略图太多啦,为您关闭了显示","Shift+Up/Down/Left/Right can align selected nodes, Shift+Ctrl+Alt+Left/Right can distribute horizontal/vertical nodes":"Shift+上/下/左/右 可以对齐选中的节点, Shift+Ctrl+Alt+左/右 可以水平/垂直分布节点","Enable Shift+Ctrl+Left key to normalize width and Shift+Ctrl+Right key to normalize height":"启用 Shift+Ctrl+左 键规范化宽度和 Shift+Ctrl+右 键规范化高度","After v1.2.39, Ctrl+g can be used instead of it":"从v1.2.39开始,可以使用Ctrl+g代替","Styles Selector Display Type":"样式选择器显示类型","Styles Selector Display Type, if set to 'Gird', it will display as a gird, if set to 'List', it will display as a list":"样式选择器显示类型,如果设置为“网格”,则显示为网格,如果设置为“列表”,则显示为列表","Use three shortcut buttons in the right-click menu":"在右键菜单中使用三个快捷按钮","Enable Nodes Map":"启用节点组管理","Display Groups Only":"仅显示组","Display Node ID":"显示节点ID","You need to refresh the page to update successfully":"您需要刷新页面以成功更新","Get styles list Failed":"获取样式列表失败","Get style image Failed":"获取样式图片失败","Empty All":"清空所有","Type here to search styles ...":"在此处输入以搜索样式 ...","Loading UserInfo...":"正在获取用户信息...","Please set the APIKEY first":"请先设置APIKEY","Setting APIKEY":"设置APIKEY","Save Account Info":"保存账号信息",Choose:"选择",Delete:"删除",Edit:"编辑","At least one account is required":"删除失败: 至少需要一个账户","APIKEY is not Empty":"APIKEY 不能为空","Add Account":"添加账号","Getting Your APIKEY":"获取您的APIKEY","Choose Selected Images":"选择选中的图片","Choose images to continue":"选择图片以继续",Background:"背景",Hat:"帽子",Hair:"头发",Body:"身体",Face:"脸部",Clothes:"衣服",Others:"其他",Glove:"手套",Glasses:"眼镜",Sunglasses:"太阳镜","Upper-clothes":"上衣","Top-clothes":"上衣","Bottom-clothes":"下身装","Torso-skin":"皮肤",Dress:"连衣裙",Belt:"腰带",Coat:"外套",Socks:"袜子",Pants:"裤子",Jumpsuits:"连体衣",Bag:"包",Scarf:"围巾",Skirt:"裙子","Left-arm":"左臂","Right-arm":"右臂","Left-leg":"左腿","Right-leg":"右腿","Left-foot":"左脚","Right-foot":"右脚","Left-shoe":"左鞋","Right-shoe":"右鞋","select mask components":"选择分割部位","select items":"选择项",Unlabelled:"未标记","shirt, blouse":"衬衫,女式衬衫","top, t-shirt, sweatshirt":"上衣,T恤,运动衫",sweater:"毛衣",cardigan:"开襟毛衣",jacket:"夹克",vest:"背心",pants:"长裤",shorts:"短裤",skirt:"裙子",coat:"外套",dress:"连衣裙",jumpsuit:"连体衣",cape:"斗篷",glasses:"眼镜",hat:"帽子","headband, head covering, hair accessory":"头带,头饰,发饰",tie:"领带",glove:"手套",watch:"手表",belt:"腰带","leg warmer":"护腿","tights, stockings":"紧身袜,丝袜",sock:"袜子",shoe:"鞋子","bag, wallet":"包,钱包",scarf:"围巾",umbrella:"雨伞",hood:"帽兜",collar:"领子",lapel:"翻领",epaulette:"肩章",sleeve:"袖子",pocket:"口袋",neckline:"领口",buckle:"扣环",zipper:"拉链",applique:"贴花",bead:"珠子",bow:"蝴蝶结",flower:"花朵装饰",fringe:"流苏",ribbon:"丝带",rivet:"铆钉",ruffle:"褶边",sequin:"亮片",tassel:"流苏穗",background:"背景",skin:"皮肤",nose:"鼻子",eyeglasses:"眼镜",left_eye:"左眼",right_eye:"右眼",left_eyebrow:"左眉毛",right_eyebrow:"右眉毛",left_ear:"左耳",right_ear:"右耳",mouth:"嘴巴",upper_lip:"上唇",lower_lip:"下唇",hair:"头发",earring:"耳环",necklace:"项链",neck:"脖子",clothing:"服装",s:"秒","No Node Templates Found":"未找到节点模板预设","Get Node Templates File Failed":"获取节点模板文件失败","Node template with {key} not set":"未设置快捷键为{key}的节点预设","ComfyUI Basic":"ComfyUI 基础节点","Recommend Nodes":"推荐节点","Others A~Z":"其他节点 A~Z","The maximum number of inputs is 20":"输入数量最大20个","The maximum number of outputs is 20":"输出数量最大20个","Stop recording":"停止录音","Voice input":"语音输入",Continue:"继续",Stop:"停止",now:"当前",prev:"上一步"},$t=(e,t=!1)=>{switch(t?navigator.language:getLocale()){case"zh-CN":case"zh":return zhCN[e]||e;default:return e}};function addPreconnect(e,t=!1){const i=document.createElement("link");i.rel="preconnect",i.href=e,t&&(i.crossorigin=""),document.head.appendChild(i)}function addCss(e,t=!0,i="ComfyUI-Easy-Use"){const s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.href=t?`extensions/${i}/${e}`:e,document.head.appendChild(s)}const PREFIX_CLASS="comfyui-easyuse-",DARK_THEME_CLASS="dark-theme",THEME_COLOR="#60a5fa",CUSTOM_LINK_TYPES_COLOR={PIPE_LINE:"#7737AA",PIPE_LINE_SDXL:"#7737AA",INT:"#29699C",X_Y:"#38291f",XYPLOT:"#74DA5D",LORA_STACK:"#94dccd",CONTROL_NET_STACK:"#94dccd",FLOW_CONTROL:"#373780"},MAX_SEED_NUM=0x4000000000000,COMFYUI_NODE_BASIC_CATEGORY=["loaders","latent","image","mask","sampling","_for_testing","advanced","utils","api","api node","加载器","Latent","图像","遮罩","采样","_用于测试","高级","工具","API","api 节点","chargeurs","latent","image","masque","échantillonnage","_pour_test","avancé","outils","nœud api","загрузчики","латентный","изображение","маска","выборка","_для_тестирования","расширенный","инструменты","api","api узел","로더","잠재","이미지","마스크","샘플링","_테스트용","고급","도구","api","api 노드","ローダー","潜在","画像","マスク","サンプリング","_テスト用","高度な","ツール","api","apiノード","cargadores","latente","imagen","máscara","muestreo","_para_pruebas","avanzado","herramientas","api","nodo api"],HUMAN_SEGMENTATION={selfie_multiclass_256x256:["Background","Hair","Body","Face","Clothes","Others"],human_parsing_lip:["Background","Hat","Hair","Glove","Sunglasses","Upper-clothes","Dress","Coat","Socks","Pants","Jumpsuits","Scarf","Skirt","Face","Left-arm","Right-arm","Left-leg","Right-leg","Left-shoe","Right-shoe"],"human_parts (deeplabv3p)":["Background","Face","Hair","Glasses","Top-clothes","Bottom-clothes","Torso-skin","Left-arm","Right-arm","Left-leg","Right-leg","Left-foot","Right-foot"],segformer_b3_clothes:{Background:0,Hat:1,Hair:2,Sunglasses:3,"Upper-clothes":4,Skirt:5,Pants:6,Dress:7,Belt:8,"Left-shoe":9,"Right-shoe":10,Face:11,"Left-leg":12,"Right-leg":13,"Left-arm":14,"Right-arm":15,Bag:16,Scarf:17},segformer_b3_fashion:{Unlabelled:0,"shirt, blouse":1,"top, t-shirt, sweatshirt":2,sweater:3,cardigan:4,jacket:5,vest:6,pants:7,shorts:8,skirt:9,coat:10,dress:11,jumpsuit:12,cape:13,glasses:14,hat:15,"headband, head covering, hair accessory":16,tie:17,glove:18,watch:19,belt:20,"leg warmer":21,"tights, stockings":22,sock:23,shoe:24,"bag, wallet":25,scarf:26,umbrella:27,hood:28,collar:29,lapel:30,epaulette:31,sleeve:32,pocket:33,neckline:34,buckle:35,zipper:36,applique:37,bead:38,bow:39,flower:40,fringe:41,ribbon:42,rivet:43,ruffle:44,sequin:45,tassel:46},face_parsing:["background","skin","nose","eyeglasses","left_eye","right_eye","left_eyebrow","right_eyebrow","left_ear","right_ear","mouth","upper_lip","lower_lip","hair","hat","earring","necklace","neck","clothing"]},NODE_MODE={ALWAYS:0,NEVER:2,BYPASS:4},NODES_MAP_ID="easyuse_nodes_map",NO_PREVIEW_IMAGE="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QMyaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMSA3OS4xNDYyODk5Nzc3LCAyMDIzLzA2LzI1LTIzOjU3OjE0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2RkFERDc2MUNDRkIxMUVGQjFENkE0NzFCNTUzRkQ0MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2RkFERDc2MkNDRkIxMUVGQjFENkE0NzFCNTUzRkQ0MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjUyMkMxRkIyQ0M0QzExRUZCMUQ2QTQ3MUI1NTNGRDQwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZGQURENzYwQ0NGQjExRUZCMUQ2QTQ3MUI1NTNGRDQwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEB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",VERSION=112,bgcolor$1="rgba(24,24,27,.9)",obsidian={ColorPalette:{version:VERSION,id:"obsidian",name:"Obsidian",colors:{node_slot:{CLIP:"#FFD500",CLIP_VISION:"#A8DADC",CLIP_VISION_OUTPUT:"#ad7452",CONDITIONING:"#FFA931",CONTROL_NET:"#6EE7B7",IMAGE:"#64B5F6",LATENT:"#FF9CF9",MASK:"#81C784",MODEL:"#B39DDB",STYLE_MODEL:"#C2FFAE",VAE:"#FF6E6E",TAESD:"#DCC274",PIPE_LINE:"#7737AA",PIPE_LINE_SDXL:"#7737AA",INT:"#29699C",X_Y:"#38291f",XYPLOT:"#74DA5D",LORA_STACK:"#94dccd",CONTROL_NET_STACK:"#94dccd",FAST_MODEL_LOADER:"#ffd399",SAMPLING:"#60a5fa"},litegraph_base:{BACKGROUND_IMAGE:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=",CLEAR_BACKGROUND_COLOR:"#222222",NODE_TITLE_COLOR:"#d4d4d8",NODE_SELECTED_TITLE_COLOR:"#ffffff",NODE_TEXT_SIZE:14,NODE_TEXT_COLOR:"#ffffff",NODE_SUBTEXT_SIZE:12,NODE_DEFAULT_COLOR:"#09090b",NODE_DEFAULT_BGCOLOR:"rgba(24,24,27,.9)",NODE_DEFAULT_BOXCOLOR:"rgba(255,255,255,.75)",NODE_DEFAULT_SHAPE:2,NODE_BOX_OUTLINE_COLOR:THEME_COLOR,NODE_BYPASS_BGCOLOR:"#FF00FF",NODE_ERROR_COLOUR:"#E00",DEFAULT_SHADOW_COLOR:"rgba(0,0,0,0)",DEFAULT_GROUP_FONT:24,WIDGET_BGCOLOR:"#242427",WIDGET_OUTLINE_COLOR:"#3f3f46",WIDGET_TEXT_COLOR:"#d4d4d8",WIDGET_SECONDARY_TEXT_COLOR:"#d4d4d8",LINK_COLOR:"#9A9",EVENT_LINK_COLOR:"#A86",CONNECTING_LINK_COLOR:"#AFA"},comfy_base:{"fg-color":"#fff","bg-color":"#09090b","comfy-menu-bg":"rgba(24,24,24,.9)","comfy-input-bg":"#262626","input-text":"#ddd","descrip-text":"#999","drag-text":"#ccc","error-text":"#ff4444","border-color":"#29292c","tr-even-bg-color":"rgba(28,28,28,.9)","tr-odd-bg-color":"rgba(19,19,19,.9)"}}},NODE_COLORS:{red:{color:"#af3535",bgcolor:bgcolor$1,groupcolor:"#A88"},brown:{color:"#38291f",bgcolor:bgcolor$1,groupcolor:"#b06634"},green:{color:"#346434",bgcolor:bgcolor$1,groupcolor:"#8A8"},blue:{color:"#1f1f48",bgcolor:bgcolor$1,groupcolor:"#88A"},pale_blue:{color:"#006691",bgcolor:bgcolor$1,groupcolor:"#3f789e"},cyan:{color:"#008181",bgcolor:bgcolor$1,groupcolor:"#8AA"},purple:{color:"#422342",bgcolor:bgcolor$1,groupcolor:"#a1309b"},yellow:{color:"#c09430",bgcolor:bgcolor$1,groupcolor:"#b58b2a"},black:{color:"rgba(0,0,0,.8)",bgcolor:bgcolor$1,groupcolor:"#444"}}};let obsidian_dark=JSON.parse(JSON.stringify(obsidian));delete obsidian_dark.NODE_COLORS,obsidian_dark.ColorPalette.id="obsidian_dark",obsidian_dark.ColorPalette.name="Obsidian Dark",obsidian_dark.ColorPalette.colors.litegraph_base.BACKGROUND_IMAGE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmIyYzRhNjA5LWJmYTctYTg0MC1iOGFlLTk3MzE2ZjM1ZGIyNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk0ZmNlZGU4LTE1MTctZmQ0MC04ZGU3LWYzOTgxM2E3ODk5ZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMxYjEwYjAtYjRmYi0wMjRlLWIxMmUtMzA1MzAzY2QwN2M4IiBzdEV2dDp3aGVuPSIyMDIzLTExLTEzVDAwOjE4OjAyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OWY1NzlmLTJkNjUtZWQ0Zi04OTg0LTA4NGE2MGE1ZTMzNSIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xNVQwMjowNDo1OSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmM0YTYwOS1iZmE3LWE4NDAtYjhhZS05NzMxNmYzNWRiMjciIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OTe6GAAAAx0lEQVR42u3WMQoAIQxFwRzJys77X8vSLiRgITif7bYbgrwYc/mKXyBoY4VVBgsWLFiwYFmOlTv+9jfDOjHmr8u6eVkGCxYsWLBgmc5S8ApewXvgYRksWLBgKXidpeBdloL3wMOCBctgwVLwCl7BuyyDBQsWLFiwTGcpeAWv4D3wsAwWLFiwFLzOUvAuS8F74GHBgmWwYCl4Ba/gXZbBggULFixYprMUvIJX8B54WAYLFixYCl5nKXiXpeA98LBgwTJYsGC9tg1o8f4TTtqzNQAAAABJRU5ErkJggg==",obsidian_dark.ColorPalette.colors.litegraph_base.CLEAR_BACKGROUND_COLOR="#09090b";const bgcolor="#FFFFFF",milk_white={ColorPalette:{id:"milk_white",name:"Milk White",colors:{node_slot:{CLIP:"#FFA726",CLIP_VISION:"#5C6BC0",CLIP_VISION_OUTPUT:"#8D6E63",CONDITIONING:"#EF5350",CONTROL_NET:"#66BB6A",IMAGE:"#42A5F5",LATENT:"#AB47BC",MASK:"#9CCC65",MODEL:"#7E57C2",STYLE_MODEL:"#D4E157",VAE:"#FF7043",PIPE_LINE:"#7737AA",PIPE_LINE_SDXL:"#7737AA",INT:"#29699C",X_Y:"#38291f",XYPLOT:"#74DA5D",LORA_STACK:"#94dccd",CONTROL_NET_STACK:"#94dccd",FAST_MODEL_LOADER:"#ffd399",SAMPLING:"#60a5fa"},litegraph_base:{BACKGROUND_IMAGE:"data:image/gif;base64,R0lGODlhZABkALMAAAAAAP///+vr6+rq6ujo6Ofn5+bm5uXl5d3d3f///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAABkAGQAAAT/UMhJq7046827HkcoHkYxjgZhnGG6si5LqnIM0/fL4qwwIMAg0CAsEovBIxKhRDaNy2GUOX0KfVFrssrNdpdaqTeKBX+dZ+jYvEaTf+y4W66mC8PUdrE879f9d2mBeoNLfH+IhYBbhIx2jkiHiomQlGKPl4uZe3CaeZifnnijgkESBqipqqusra6vsLGys62SlZO4t7qbuby7CLa+wqGWxL3Gv3jByMOkjc2lw8vOoNSi0czAncXW3Njdx9Pf48/Z4Kbbx+fQ5evZ4u3k1fKR6cn03vHlp7T9/v8A/8Gbp4+gwXoFryXMB2qgwoMMHyKEqA5fxX322FG8tzBcRnMW/zlulPbRncmQGidKjMjyYsOSKEF2FBlJQMCbOHP6c9iSZs+UnGYCdbnSo1CZI5F64kn0p1KnTH02nSoV3dGTV7FFHVqVq1dtWcMmVQZTbNGu72zqXMuW7danVL+6e4t1bEy6MeueBYLXrNO5Ze36jQtWsOG97wIj1vt3St/DjTEORss4nNq2mDP3e7w4r1bFkSET5hy6s2TRlD2/mSxXtSHQhCunXo26NevCpmvD/UU6tuullzULH76q92zdZG/Ltv1a+W+osI/nRmyc+fRi1Xdbh+68+0vv10dH3+77KD/i6IdnX669/frn5Zsjh4/2PXju8+8bzc9/6fj27LFnX11/+IUnXWl7BJfegm79FyB9JOl3oHgSklefgxAC+FmFGpqHIYcCfkhgfCohSKKJVo044YUMttggiBkmp6KFXw1oII24oYhjiDByaKOOHcp3Y5BD/njikSkO+eBREQAAOw==",CLEAR_BACKGROUND_COLOR:"lightgray",NODE_TITLE_COLOR:"#222",NODE_SELECTED_TITLE_COLOR:"#000",NODE_TEXT_SIZE:14,NODE_TEXT_COLOR:"#444",NODE_SUBTEXT_SIZE:12,NODE_DEFAULT_COLOR:"#F7F7F7",NODE_DEFAULT_BGCOLOR:"#F5F5F5",NODE_DEFAULT_BOXCOLOR:"#555",NODE_DEFAULT_SHAPE:2,NODE_BOX_OUTLINE_COLOR:"#000",DEFAULT_SHADOW_COLOR:"rgba(0,0,0,0.1)",DEFAULT_GROUP_FONT:24,WIDGET_BGCOLOR:"#D4D4D4",WIDGET_OUTLINE_COLOR:"#999",WIDGET_TEXT_COLOR:"#222",WIDGET_SECONDARY_TEXT_COLOR:"#555",LINK_COLOR:"#9A9",EVENT_LINK_COLOR:"#FF9800",CONNECTING_LINK_COLOR:"#222"},comfy_base:{"fg-color":"#222","bg-color":"#DDD","comfy-menu-bg":"#F5F5F5","comfy-input-bg":"#C9C9C9","input-text":"#222","descrip-text":"#444","drag-text":"#555","error-text":"#F44336","border-color":"#bbb","tr-even-bg-color":"#f9f9f9","tr-odd-bg-color":"#fff","content-bg":"#e0e0e0","content-fg":"#222","content-hover-bg":"#adadad","content-hover-fg":"#222"}}},NODE_COLORS:{red:{color:"#af3535",bgcolor:bgcolor,groupcolor:"#A88"},brown:{color:"#38291f",bgcolor:bgcolor,groupcolor:"#b06634"},green:{color:"#346434",bgcolor:bgcolor,groupcolor:"#8A8"},blue:{color:"#1f1f48",bgcolor:bgcolor,groupcolor:"#88A"},pale_blue:{color:"#006691",bgcolor:bgcolor,groupcolor:"#3f789e"},cyan:{color:"#008181",bgcolor:bgcolor,groupcolor:"#8AA"},purple:{color:"#422342",bgcolor:bgcolor,groupcolor:"#a1309b"},yellow:{color:"#c09430",bgcolor:bgcolor,groupcolor:"#b58b2a"},black:{color:"rgba(0,0,0,.8)",bgcolor:bgcolor,groupcolor:"#444"}}},settings={addGroup:{id:"EasyUse.Hotkeys.AddGroup",name:"Enable Shift+g to add selected nodes to a group",tooltip:"After v1.2.39, Ctrl+g can be used instead of it",type:"boolean",defaultValue:!0},cleanVRAMUsed:{id:"EasyUse.Hotkeys.cleanVRAMUsed",name:"Enable Shift+r to unload models and node cache",type:"boolean",defaultValue:!0},toggleSiteMap:{id:"EasyUse.Hotkeys.toggleNodesMap",name:"Enable Shift+m to toggle nodes map",type:"boolean",defaultValue:!0},alignSelectedNodes:{id:"EasyUse.Hotkeys.AlignSelectedNodes",name:"Enable Shift+Up/Down/Left/Right key and Shift+Ctrl+Alt+Left/Right to align selected nodes",tooltip:"Shift+Up/Down/Left/Right can align selected nodes, Shift+Ctrl+Alt+Left/Right can distribute horizontal/vertical nodes",type:"boolean",defaultValue:!0},NormalizeSelectedNodes:{id:"EasyUse.Hotkeys.NormalizeSelectedNodes",name:"Enable Shift+Ctrl+Left/Right key to normalize selected nodes",tooltip:"Enable Shift+Ctrl+Left key to normalize width and Shift+Ctrl+Right key to normalize height",type:"boolean",defaultValue:!0},nodesTemplate:{id:"EasyUse.Hotkeys.NodesTemplate",name:"Enable Alt+1~9 to paste nodes from nodes template",type:"boolean",defaultValue:!0},jumpNearestNodes:{id:"EasyUse.Hotkeys.JumpNearestNodes",name:"Enable Up/Down/Left/Right key to jump nearest nodes",type:"boolean",defaultValue:!0},subDirectories:{id:"EasyUse.ContextMenu.SubDirectories",name:"Enable contextMenu auto nest subdirectories",type:"boolean",defaultValue:!1},modelsThumbnails:{id:"EasyUse.ContextMenu.ModelsThumbnails",name:"Enable model thumbnails display",type:"boolean",defaultValue:!1},rightMenuNodesSort:{id:"EasyUse.ContextMenu.NodesSort",name:"Enable right-click menu to add node A~Z sorting",type:"boolean",defaultValue:!0},quickOptions:{id:"EasyUse.ContextMenu.QuickOptions",name:"Use three shortcut buttons in the right-click menu",type:"combo",options:["At the forefront","At the end","Disable"],defaultValue:"At the forefront"},nodesRuntime:{id:"EasyUse.Nodes.Runtime",name:"Enable nodes runtime display",type:"boolean",defaultValue:!0},chainGetSet:{id:"EasyUse.Nodes.ChainGetSet",name:"Enable chain get node and set node with parent nodes",type:"boolean",defaultValue:!0},nodesMap:{id:"EasyUse.NodesMap.Sorting",name:"Nodes map sorting mode",tooltip:"Default automatic sorting, if set to manual, groups can be dragged and dropped and the sorting results saved.",type:"combo",options:["Auto sorting","Manual drag&drop sorting"],defaultValue:"Auto sorting"},displayNodesID:{id:"EasyUse.NodesMap.DisplayNodeID",name:"Display Node ID",type:"boolean",defaultValue:!0},onlyDisplayGroup:{id:"EasyUse.NodesMap.DisplayGroupOnly",name:"Display Groups Only",type:"boolean",defaultValue:!1},enableNodesMap:{id:"EasyUse.NodesMap.Enable",name:"Enable Nodes Map",tooltip:"You need to refresh the page to update successfully",type:"boolean",defaultValue:!0},stylesSelectorDisplay:{id:"EasyUse.StylesSelector.DisplayType",name:"Styles Selector Display Type",tooltip:"Styles Selector Display Type, if set to 'Gird', it will display as a gird, if set to 'List', it will display as a list",type:"combo",options:["Gird","List"],defaultValue:"Gird"}};function sleep(e=100,t){return new Promise((i=>{setTimeout((()=>{i(t)}),e)}))}function formatTime(e,t){if(e="number"==typeof e?e:e instanceof Date?e.getTime():parseInt(e),isNaN(e))return null;let i=new Date(e);(e=i.toString().split(/[\s\:]/g).slice(0,-2))[1]=["01","02","03","04","05","06","07","08","09","10","11","12"][i.getMonth()];let s={MM:1,dd:2,yyyy:3,hh:4,mm:5,ss:6};return t.replace(/([Mmdhs]|y{2})\1/g,(t=>e[s[t]]))}function isLocalNetwork(e){return["192.168.","10.","127.",/^172\.((1[6-9]|2[0-9]|3[0-1])\.)/].some((t=>"string"==typeof t?e.startsWith(t):t.test(e)))}const isMac=/Mac|iPod|iPhone|iPad/.test(navigator.platform),normalize=e=>isMac?e.replace(/Ctrl/g,"⌘").replace(/Alt/g,"⌥").replace(/Shift/g,"⇧"):e;class Toast{constructor(){__publicField(this,"element",$el(`div.${PREFIX_CLASS}toast`)),__publicField(this,"children",HTMLElement),__publicField(this,"container",document.body),__publicField(this,"info_icon",`mdi mdi-information ${PREFIX_CLASS}theme`),__publicField(this,"success_icon",`mdi mdi-check-circle ${PREFIX_CLASS}success`),__publicField(this,"error_icon",`mdi mdi-close-circle ${PREFIX_CLASS}error`),__publicField(this,"warn_icon",`mdi mdi-alert-circle ${PREFIX_CLASS}warning`),__publicField(this,"loading_icon","mdi mdi-rotate-right loading"),this.container.appendChild(this.element)}async show(e){let t=$el(`div.${PREFIX_CLASS}toast-container`,[$el("div",[$el("span",[...e.icon?[$el("i",{className:e.icon})]:[],$el("span",e.content)])])]);t.setAttribute("toast-id",e.id),this.element.replaceChildren(t),this.container.appendChild(this.element),await sleep(64),t.style.marginTop=`-${t.offsetHeight}px`,await sleep(64),t.classList.add("show"),e.duration&&(await sleep(e.duration),this.hide(e.id))}async hide(e){const t=document.querySelector(`.${PREFIX_CLASS}toast > [toast-id="${e}"]`);(null==t?void 0:t.classList.contains("show"))&&(t.classList.remove("show"),await sleep(750)),t&&t.remove()}async clearAllMessages(){let e=document.querySelector(`.${PREFIX_CLASS}container`);e&&(e.innerHTML="")}async info(e,t=3e3,i=[]){this.show({id:"toast-info",icon:this.info_icon,content:e,duration:t})}async success(e,t=3e3){this.show({id:"toast-success",icon:this.success_icon,content:e,duration:t})}async error(e,t=3e3){this.show({id:"toast-error",icon:this.error_icon,content:e,duration:t})}async warn(e,t=3e3){this.show({id:"toast-warn",icon:this.warn_icon,content:e,duration:t})}async showLoading(e,t=0){this.show({id:"toast-loading",icon:this.loading_icon,content:e,duration:t})}async hideLoading(){this.hide("toast-loading")}}const toast=new Toast,useNodesStore=defineStore("groups",{state:e=>({groups:[],nodes:[],isWatching:!1}),getters:{groups_nodes(){var e;let t=[],i=[];const s=e=>{var t;return{info:e,children:(null==(t=e.sub_groups)?void 0:t.length)>0?e.sub_groups.map(s):[],bounds:{x1:e.pos[0],y1:e.pos[1],x2:e.pos[0]+e.size[0],y2:e.pos[1]+e.size[1]}}};if(t=this.groups.map(s),(null==(e=this.nodes)?void 0:e.length)>0){const e=(e,t)=>e[0]>=t.x1&&e[0]<=t.x2&&e[1]>=t.y1&&e[1]<=t.y2,s=(t,i)=>{let s=null,o=-1;const a=(i,n)=>{i.bounds&&e(t.pos,i.bounds)&&(n>o&&(o=n,s=i),i.children.forEach((e=>a(e,n+1))))};return i.forEach((e=>a(e,0))),s};this.nodes.forEach((e=>{const o=s(e,t);o?(o.children||(o.children=[]),o.children.push(e)):i.push({info:e})}))}return[...t,...i]}},actions:{setGroups(e){let t=cloneDeep(e);t.forEach((e=>{e.sub_groups=[],t.forEach((t=>{t!==e&&t.pos[0]>e.pos[0]&&t.pos[0]e.pos[1]&&t.pos[1]{t=t.filter((t=>t!==e))}))})),this.groups="Manual drag&drop sorting"==getSetting("EasyUse.NodesMap.Sorting")?cloneDeep(t):cloneDeep(t.sort(((e,t)=>e.pos[0]-t.pos[0])).sort(((e,t)=>e.pos[1]-t.pos[1])))},setNodes(e){this.nodes=cloneDeep(e)},update(){var e,t,i;(((null==(e=app$1.extensionManager)?void 0:e.activeSidebarTab)||(null==(i=null==(t=app$1.extensionManager.sidebarTab)?void 0:t.activeSidebarTab)?void 0:i.id))===NODES_MAP_ID||this.isWatching)&&setTimeout((e=>{this.setGroups(app$1.canvas.graph._groups),this.setNodes(app$1.canvas.graph._nodes)}),1)},watchGraph(e=!1){e&&(this.isWatching=!0);let t=this;this.update();const i=app$1.graph.onNodeAdded;app$1.graph.onNodeAdded=function(e){t.update();const s=e.onRemoved;return e.onRemoved=function(){return t.update(),null==s?void 0:s.apply(this,arguments)},null==i?void 0:i.apply(this,arguments)},app$1.canvas.onNodeMoved=function(e){t.update()};const s=LGraphCanvas.onNodeAlign;LGraphCanvas.onNodeAlign=function(e){return t.update(),null==s?void 0:s.apply(this,arguments)};const o=LGraphCanvas.onGroupAdd;LGraphCanvas.onGroupAdd=function(){return t.update(),null==o?void 0:o.apply(this,arguments)};const a=LGraphCanvas.onGroupAlign;LGraphCanvas.onGroupAlign=function(e){return t.update(),null==a?void 0:a.apply(this,arguments)};const n=LGraphCanvas.onMenuNodeRemove;LGraphCanvas.onMenuNodeRemove=function(e){return t.update(),null==n?void 0:n.apply(this,arguments)}},unwatchGraph(){this.isWatching=!1}}});function drawRoundedRect(e,t,i,s,o,a){e.beginPath(),e.moveTo(t+a,i),e.lineTo(t+s-a,i),e.arcTo(t+s,i,t+s,i+a,a),e.lineTo(t+s,i+o-a),e.arcTo(t+s,i+o,t+s-a,i+o,a),e.lineTo(t+a,i+o),e.arcTo(t,i+o,t,i+o-a,a),e.lineTo(t,i+a),e.arcTo(t,i,t+a,i,a),e.closePath()}function drawText(e,t,i,s,o="#000",a=12,n="Inter"){e.font=`${a}px ${n}`,e.fillStyle=o,e.fillText(t,i,s)}const ELLIPSIS="…",TWO_DOT_LEADER="‥",ONE_DOT_LEADER="․",RenderShape={BOX:1,ROUND:2,CIRCLE:3,CARD:4,ARROW:5,GRID:6,HollowCircle:7};function strokeShape(e,t,i={}){const{shape:s=RenderShape.BOX,round_radius:o=LiteGraph.ROUND_RADIUS,title_height:a=LiteGraph.NODE_TITLE_HEIGHT,title_mode:n=LiteGraph.NORMAL_TITLE,color:l=LiteGraph.NODE_BOX_OUTLINE_COLOR,padding:r=6,collapsed:d=!1,thickness:c=1}=i;n===LiteGraph.TRANSPARENT_TITLE&&(t[1]-=a,t[3]+=a);const{lineWidth:u,strokeStyle:p}=e;e.lineWidth=c,e.globalAlpha=.8,e.strokeStyle=l,e.beginPath();const[A,g,h,m]=t;switch(s){case RenderShape.BOX:e.rect(A-r,g-r,h+2*r,m+2*r);break;case RenderShape.ROUND:case RenderShape.CARD:{const t=o+r,i=s===RenderShape.CARD&&d||s===RenderShape.ROUND?[t]:[t,2,t,2];e.roundRect(A-r,g-r,h+2*r,m+2*r,i);break}case RenderShape.CIRCLE:{const t=A+h/2,i=g+m/2,s=Math.max(h,m)/2+r;e.arc(t,i,s,0,2*Math.PI);break}}e.stroke(),e.lineWidth=u,e.strokeStyle=p,e.globalAlpha=1}function truncateTextToWidth(e,t,i){if(!(i>0))return"";if(e.measureText(t).width<=i)return t;const s=.75*e.measureText(ELLIPSIS).width;if(s>i){if(.75*e.measureText(TWO_DOT_LEADER).width{if(!e.length||1===e.length)return!0;const t=e[0].naturalWidth/e[0].naturalHeight;for(let i=1;ia&&(a=v,d=f,c=y,u=g,p=e,A=g*((s-f)/2))}return{cellWidth:d,cellHeight:c,cols:u,rows:p,shiftX:A}}const renderPreview=(e,t,i)=>{const s=app$1.canvas,o=s.graph_mouse;!s.pointer_is_down&&t.pointerDown&&(o[0]===t.pointerDown.pos[0]&&o[1]===t.pointerDown.pos[1]&&(t.imageIndex=t.pointerDown.index),t.pointerDown=null);const a=t.imgs??[];let{imageIndex:n}=t;const l=a.length;1!==l||n||(t.imageIndex=n=0);const r=t.size[0],d=t.size[1]-i-15;if(null==n){let n,c,u,p,A;const g=is_all_same_aspect_ratio$1(a);if(g)p=0,({cellWidth:n,cellHeight:c,cols:A,shiftX:u}=calculateImageGrid$1(a,r,d));else{p=2;const e=a.reduce(((e,t)=>Math.max(e,t.naturalWidth,t.naturalHeight)),0),t=[];t.length=a.length,t[0]={naturalWidth:e,naturalHeight:e},({cellWidth:n,cellHeight:c,cols:A,shiftX:u}=calculateImageGrid$1(t,r,d))}let h=!1;t.imageRects=[];for(let r=0;r{let r="#333",d="#fff",c=!1;return LiteGraph.isInsideRectangle(o[0],o[1],i+t.pos[0],a+t.pos[1],n,n)&&(s.canvas.style.cursor="pointer",s.pointer_is_down?(r="#1e90ff",c=!0):(r="#eee",d="#000")),e.fillStyle=r,e.beginPath(),e.roundRect(i,a,n,n,[4]),e.fill(),e.fillStyle=d,e.font="12px Arial",e.textAlign="center",e.fillText(l,i+15,a+20),c};if(!(l>1))return;const w=(t.imageIndex??0)+1;if(_(r-40,d+i-40,30,`${w}/${l}`)){const e=w>=l?0:w;t.pointerDown&&t.pointerDown.index===e||(t.pointerDown={index:e,pos:[...o]})}_(r-40,i+10,30,"x")&&(t.pointerDown&&null===t.pointerDown.index||(t.pointerDown={index:null,pos:[...o]}))};class ImagePreviewWidget{constructor(e,t){this.type="custom",this.name=e,this.options=t,this.value=""}draw(e,t,i,s,o){renderPreview(e,t,s)}computeLayoutSize(e,t){return{minHeight:220,minWidth:1}}}const useImagePreviewWidget=()=>(e,t)=>e.addCustomWidget(new ImagePreviewWidget(t.name,{serialize:!1})),useChainCallback=(e,...t)=>function(...i){null==e||e.call(this,...i),t.forEach((e=>e.call(this,...i)))},useTryCatchCallback=(e,...t)=>function(...i){try{t.forEach((e=>null==e?void 0:e.call(this,...i)))}catch(s){null==e||e.call(this,...i,s)}};function isInRectangle(e,t,i,s,o,a){return e>=i&&e=s&&t=i&&e=s&&t=e[0]&&this.y+this.height>=e[1]}containsRect(e){return this.x<=e[0]&&this.y<=e[1]&&this.x+this.width>=e[0]+e[2]&&this.y+this.height>=e[1]+e[3]}overlaps(e){return this.xe[0]&&this.y+this.height>e[1]}findContainingCorner(e,t,i){return this.isInTopLeftCorner(e,t,i)?"NW":this.isInTopRightCorner(e,t,i)?"NE":this.isInBottomLeftCorner(e,t,i)?"SW":this.isInBottomRightCorner(e,t,i)?"SE":void 0}isInTopLeftCorner(e,t,i){return isInRectangle(e,t,this.x,this.y,i,i)}isInTopRightCorner(e,t,i){return isInRectangle(e,t,this.right-i,this.y,i,i)}isInBottomLeftCorner(e,t,i){return isInRectangle(e,t,this.x,this.bottom-i,i,i)}isInBottomRightCorner(e,t,i){return isInRectangle(e,t,this.right-i,this.bottom-i,i,i)}isInTopEdge(e,t,i){return isInRectangle(e,t,this.x,this.y,this.width,i)}isInBottomEdge(e,t,i){return isInRectangle(e,t,this.x,this.bottom-i,this.width,i)}isInLeftEdge(e,t,i){return isInRectangle(e,t,this.x,this.y,i,this.height)}isInRightEdge(e,t,i){return isInRectangle(e,t,this.right-i,this.y,i,this.height)}getCentre(){return[this.centreX,this.centreY]}getArea(){return this.width*this.height}getPerimeter(){return 2*(this.width+this.height)}getTopLeft(){return[this[0],this[1]]}getBottomRight(){return[this.right,this.bottom]}getSize(){return[this[2],this[3]]}getOffsetTo([e,t]){return[e-this[0],t-this[1]]}getOffsetFrom([e,t]){return[this[0]-e,this[1]-t]}resizeTopLeft(e,t){this[2]+=this[0]-e,this[3]+=this[1]-t,this[0]=e,this[1]=t}resizeBottomLeft(e,t){this[2]+=this[0]-e,this[3]=t-this[1],this[0]=e}resizeTopRight(e,t){this[2]=e-this[0],this[3]+=this[1]-t,this[1]=t}resizeBottomRight(e,t){this[2]=e-this[0],this[3]=t-this[1]}setWidthRightAnchored(e){const t=this[2];this[2]=e,this[0]+=t-e}setHeightBottomAnchored(e){const t=this[3];this[3]=e,this[1]+=t-e}toArray(){return this.export()}export(){return[this[0],this[1],this[2],this[3]]}_drawDebug(e,t="red"){const{strokeStyle:i,lineWidth:s}=e;try{e.strokeStyle=t,e.lineWidth=.5,e.beginPath(),e.strokeRect(this[0],this[1],this[2],this[3])}finally{e.strokeStyle=i,e.lineWidth=s}}}_pos=new WeakMap,_size=new WeakMap;const _BaseWidget=class e{constructor(e,t){__privateAdd(this,_node),__privateAdd(this,_value),void 0===t&&(t=e.node),__privateSet(this,_node,t),__privateSet(this,_value,e.value),this.name=e.name,this.options=e.options,this.type=e.type,this.y=0;const{node:i,outline_color:s,background_color:o,height:a,text_color:n,secondary_text_color:l,disabledTextColor:r,displayName:d,displayValue:c,labelBaseline:u,...p}=e;Object.assign(this,p)}get node(){return __privateGet(this,_node)}get value(){return __privateGet(this,_value)}set value(e){__privateSet(this,_value,e)}get outline_color(){return this.advanced?LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR:LiteGraph.WIDGET_OUTLINE_COLOR}get background_color(){return LiteGraph.WIDGET_BGCOLOR}get height(){return LiteGraph.NODE_WIDGET_HEIGHT}get text_color(){return LiteGraph.WIDGET_TEXT_COLOR}get secondary_text_color(){return LiteGraph.WIDGET_SECONDARY_TEXT_COLOR}get disabledTextColor(){return LiteGraph.WIDGET_DISABLED_TEXT_COLOR}get displayName(){return this.label||this.name}get _displayValue(){return String(this.value)}get labelBaseline(){return this.y+.7*this.height}drawWidgetShape(t,{width:i,showText:s,isEasyUseTheme:o}){const{height:a,y:n}=this,{margin:l}=e;t.textAlign="left",t.strokeStyle=this.outline_color,t.fillStyle=this.background_color,t.beginPath(),s?o?t.roundRect(l,n,i-2*l,a,[.25*a]):t.roundRect(l,n,i-2*l,a,[.5*a]):t.rect(l,n,i-2*l,a),t.fill(),s&&!this.computedDisabled&&t.stroke()}drawTruncatingText({ctx:t,width:i,leftPadding:s=5,rightPadding:o=20,isEasyUseTheme:a}){const{height:n,y:l}=this,{margin:r}=e,{displayName:d,_displayValue:c}=this,u=t.measureText(d).width,p=t.measureText(c).width,A=e.labelValueGap,g=2*r+(a?s?2:-8:s),h=i-g-2*r-(a?4:o),m=u+A+p,f=new Rectangle(g,l,h,.7*n);if(a&&(t.font="11px Inter"),t.fillStyle=this.secondary_text_color,m<=h)drawTextInArea({ctx:t,text:d,area:f,align:"left"});else if(LiteGraph.truncateWidgetTextEvenly){const e=(h-A)/(m-A);f.width=u*e,drawTextInArea({ctx:t,text:d,area:f,align:"left"}),f.right=g+h,f.setWidthRightAnchored(p*e)}else if(LiteGraph.truncateWidgetValuesFirst){const e=Math.min(u,h);f.width=e,drawTextInArea({ctx:t,text:d,area:f,align:"left"}),f.right=g+h,f.setWidthRightAnchored(Math.max(h-A-e,0))}else{const e=Math.min(p,h);f.width=Math.max(h-A-e,0),drawTextInArea({ctx:t,text:d,area:f,align:"left"}),f.right=g+h,f.setWidthRightAnchored(e)}t.fillStyle=this.text_color,drawTextInArea({ctx:t,text:c,area:f,align:"right"})}setValue(e,{e:t,node:i,canvas:s}){var o;const a=this.value;if(e===this.value)return;const n="number"===this.type?Number(e):e;this.value=n,(null==(o=this.options)?void 0:o.property)&&void 0!==i.properties[this.options.property]&&i.setProperty(this.options.property,n);const l=s.graph_mouse;this.callback&&this.callback(this.value,s,i,l,t),i.onWidgetChanged&&i.onWidgetChanged(this.name??"",n,a,this),i.graph&&i.graph._version++}};_node=new WeakMap,_value=new WeakMap,__publicField(_BaseWidget,"margin",15),__publicField(_BaseWidget,"arrowMargin",6),__publicField(_BaseWidget,"arrowWidth",10),__publicField(_BaseWidget,"minValueWidth",42),__publicField(_BaseWidget,"labelValueGap",5);let BaseWidget=_BaseWidget;class ButtonWidget extends BaseWidget{constructor(e,t){super(e,t),this.type="button",this.clicked=this.clicked??!1}drawWidget(e,{width:t,showText:i=!0,isEasyUseTheme:s=!1}){const{fillStyle:o,strokeStyle:a,textAlign:n}=e,{height:l,y:r}=this,{margin:d}=BaseWidget;e.fillStyle=this.background_color,this.clicked&&(e.fillStyle="#AAA",this.clicked=!1),s?(e.fillStyle=this.background_color,e.beginPath(),e.roundRect(d,r,t-2*d,l,[.25*l]),e.fill()):e.fillRect(d,r,t-2*d,l),i&&!this.computedDisabled&&(e.strokeStyle=this.outline_color,s?e.stroke():e.strokeRect(d,r,t-2*d,l)),i&&this.drawLabel(e,.5*t),Object.assign(e,{textAlign:n,strokeStyle:a,fillStyle:o})}drawLabel(e,t){e.textAlign="center",e.fillStyle=this.text_color,e.fillText(this.displayName,t,this.y+.7*this.height)}onClick({e:e,node:t,canvas:i}){const s=i.graph_mouse;this.clicked=!0,i.setDirty(!0),this.callback&&this.callback(this,i,t,s,e)}}class BooleanWidget extends BaseWidget{constructor(e){super(e),this.type="toggle"}drawWidget(e,{width:t,showText:i=!0,isEasyUseTheme:s=!1}){const{height:o,y:a}=this,{margin:n}=BaseWidget;this.drawWidgetShape(e,{width:t,showText:i,isEasyUseTheme:s}),e.fillStyle=this.value?THEME_COLOR:"#333",e.beginPath(),e.arc(t-2*n+(s?4:0),a+.5*o,o*(s?.25:.36),0,2*Math.PI),e.fill(),i&&(this.drawLabel(e,2*n-(s?8:0)),this.drawValue(e,t-(s?36:40)))}drawLabel(e,t){e.fillStyle=this.secondary_text_color;const{displayName:i}=this;i&&e.fillText(i,t,this.labelBaseline)}drawValue(e,t){e.fillStyle=this.value?this.text_color:this.secondary_text_color,e.textAlign="right";const i=this.value?this.options.on||"true":this.options.off||"false";e.fillText(i,t,this.labelBaseline)}onClick(e){this.setValue(!this.value,e)}}function getWidgetStep(e){return e.step2||.1*(e.step||10)}function clamp(e,t,i){return ei?i:e}const sentWarnings=new Set;function warnDeprecated(e,t=null){if(!LiteGraph.alwaysRepeatWarnings){if(sentWarnings.has(e))return;if(sentWarnings.size>UNIQUE_MESSAGE_LIMIT)return;sentWarnings.add(e)}for(const i of LiteGraph.onDeprecationWarning)i(e,t)}class SliderWidget extends BaseWidget{constructor(e,t){super(e,t),this.type="slider"}drawWidget(e,{width:t,showText:i=!0,isEasyUseTheme:s=!1}){const{fillStyle:o,strokeStyle:a,textAlign:n}=e,{height:l,y:r}=this,{margin:d}=BaseWidget;e.fillStyle=this.background_color,s?(e.strokeStyle=this.outline_color,e.beginPath(),e.roundRect(d,r,t-2*d,l,[.25*l]),e.fill(),e.stroke()):e.fillRect(d,r,t-2*d,l);const c=this.options.max-this.options.min;let u=(this.value-this.options.min)/c;if(u=clamp(u,0,1),e.fillStyle=this.options.slider_color??THEME_COLOR,s?(e.beginPath(),e.roundRect(d,r,u*(t-2*d),l,[.25*l]),e.fill()):e.fillRect(d,r,u*(t-2*d),l),i&&!this.computedDisabled&&(e.strokeStyle=this.outline_color,s||e.strokeRect(d,r,t-2*d,l)),null!=this.marker){let i=(this.marker-this.options.min)/c;i=clamp(i,0,1),e.fillStyle=this.options.marker_color??"#AA9",s?e.roundRect(d+i*(t-2*d),r,2,l,[.25*l]):e.fillRect(d+i*(t-2*d),r,2,l)}if(i){e.textAlign="center",e.fillStyle=this.text_color;const i=Number(this.value).toFixed(this.options.precision??3);e.fillText(`${this.label||this.name} ${i}`,.5*t,r+.7*l)}Object.assign(e,{textAlign:n,strokeStyle:a,fillStyle:o})}onClick(e){if(this.options.read_only)return;const{e:t,node:i}=e,s=this.width||i.size[0],o=clamp((t.canvasX-i.pos[0]-15)/(s-30),0,1),a=this.options.min+(this.options.max-this.options.min)*o;a!==this.value&&this.setValue(a,e)}onDrag(e){if(this.options.read_only)return!1;const{e:t,node:i}=e,s=this.width||i.size[0],o=clamp((t.canvasX-i.pos[0]-15)/(s-30),0,1),a=this.options.min+(this.options.max-this.options.min)*o;a!==this.value&&this.setValue(a,e)}}class KnobWidget extends BaseWidget{constructor(){super(),this.type="knob",this.current_drag_offset=0}computeLayoutSize(){return{minHeight:60,minWidth:20,maxHeight:1e6,maxWidth:1e6}}get height(){return this.computedHeight||super.height}drawWidget(e,{width:t,showText:i=!0}){const{fillStyle:s,strokeStyle:o,textAlign:a}=e,{y:n}=this,{margin:l}=BaseWidget,{gradient_stops:r="rgb(14, 182, 201); rgb(0, 216, 72)"}=this.options,d=this.computedHeight||this.height,c=Math.min(this.computedHeight||this.height,this.width||20)/20,u={x:t/2,y:d/2+n};e.lineWidth=(Math.min(t,d)-l*c)/6;const p=(Math.min(t,d)-l*c-e.lineWidth)/2;{const t=e.createRadialGradient(u.x,u.y,p+e.lineWidth,0,0,p+e.lineWidth);t.addColorStop(0,"rgb(29, 29, 29)"),t.addColorStop(1,"rgb(116, 116, 116)"),e.fillStyle=t}e.beginPath(),e.arc(u.x,u.y,p+e.lineWidth/2,0,2*Math.PI,!1),e.fill(),e.closePath();const A={start_angle:.6*Math.PI,end_angle:2.4*Math.PI};e.beginPath();{const t=e.createRadialGradient(u.x,u.y,p+e.lineWidth,0,0,p+e.lineWidth);t.addColorStop(0,"rgb(99, 99, 99)"),t.addColorStop(1,"rgb(36, 36, 36)"),e.strokeStyle=t}e.arc(u.x,u.y,p,A.start_angle,A.end_angle,!1),e.stroke(),e.closePath();const g=this.options.max-this.options.min;let h=(this.value-this.options.min)/g;h=clamp(h,0,1),e.beginPath();const m=e.createConicGradient(A.start_angle,u.x,u.y),f=r.split(";");for(const[v,_]of f.entries())m.addColorStop(v,_.trim());e.strokeStyle=m;const y=(A.end_angle-A.start_angle)*h+A.start_angle;if(e.arc(u.x,u.y,p,A.start_angle,y,!1),e.stroke(),e.closePath(),i&&!this.computedDisabled&&(e.strokeStyle=this.outline_color,e.beginPath(),e.strokeStyle=this.outline_color,e.arc(u.x,u.y,p+e.lineWidth/2,0,2*Math.PI,!1),e.lineWidth=1,e.stroke(),e.closePath()),i){e.textAlign="center",e.fillStyle=this.text_color;const i=Number(this.value).toFixed(this.options.precision??3);e.fillText(`${this.label||this.name}\n${i}`,.5*t,n+.5*d)}Object.assign(e,{textAlign:a,strokeStyle:o,fillStyle:s})}onClick(){this.current_drag_offset=0}onDrag(e){if(this.options.read_only)return;const{e:t}=e,i=getWidgetStep(this.options),s=this.options.max-this.options.min,o=s/10,a=s/100,n={delta_x:i,shift:o>i?o-o%i:i,delta_y:a>i?a-a%i:i},l=Math.abs(t.movementY)>Math.abs(t.movementX),r=l?-t.movementY:t.movementX;this.current_drag_offset+=r;let d=0;this.current_drag_offset>15?(d+=1,this.current_drag_offset-=15):this.current_drag_offset<-15&&(d-=1,this.current_drag_offset+=15);const c=d*(t.shiftKey?n.shift:l?n.delta_y:i),u=clamp(this.value+c,this.options.min,this.options.max);u!==this.value&&this.setValue(u,e)}}class BaseSteppedWidget extends BaseWidget{constructor(e,t){super(e,t)}canIncrement(){throw new Error("Method not implemented")}canDecrement(){throw new Error("Method not implemented")}incrementValue(e){throw new Error("Method not implemented")}decrementValue(e){throw new Error("Method not implemented")}drawArrowButtons(e,t,i){const{height:s,text_color:o,disabledTextColor:a,y:n}=this,{arrowMargin:l,arrowWidth:r,margin:d}=BaseWidget,c=d+l+(i?2:0),u=c+r;e.fillStyle=this.canDecrement()?o:a,e.beginPath();const p=i?6.5:5,A=i?-6:0;e.moveTo(u+A,n+p),e.lineTo(c+A/2,n+.5*s),e.lineTo(u+A,n+s-p),e.fill(),e.fillStyle=this.canIncrement()?o:a,e.beginPath(),e.moveTo(t-u-A,n+p),e.lineTo(t-c-A/2,n+.5*s),e.lineTo(t-u-A,n+s-p),e.fill()}drawWidget(e,t){const{fillStyle:i,strokeStyle:s,textAlign:o}=e;this.drawWidgetShape(e,t),t.showText&&(this.computedDisabled||this.drawArrowButtons(e,t.width,t.isEasyUseTheme),this.drawTruncatingText({ctx:e,width:t.width,isEasyUseTheme:t.isEasyUseTheme})),Object.assign(e,{textAlign:o,strokeStyle:s,fillStyle:i})}}function toArray(e){return Array.isArray(e)?e:Object.keys(e)}class ComboWidget extends BaseSteppedWidget{constructor(e,t){super(e,t),__privateAdd(this,_ComboWidget_instances),this.type="combo"}get _displayValue(){const{values:e}=this.options;if(e){const t="function"==typeof e?e():e;if(t&&!Array.isArray(t))return t[this.value]}return"number"==typeof this.value?String(this.value):this.value}canIncrement(){return __privateMethod(this,_ComboWidget_instances,canUseButton_fn).call(this,!0)}canDecrement(){return __privateMethod(this,_ComboWidget_instances,canUseButton_fn).call(this,!1)}incrementValue(e){__privateMethod(this,_ComboWidget_instances,tryChangeValue_fn).call(this,1,e)}decrementValue(e){__privateMethod(this,_ComboWidget_instances,tryChangeValue_fn).call(this,-1,e)}onClick({e:e,node:t,canvas:i}){const s=e.canvasX-t.pos[0],o=this.width||t.size[0];if("function"==typeof this.options.values&&warnDeprecated("Using a function for values is deprecated. Use an array of unique values instead."),s<40)return this.decrementValue({e:e,node:t,canvas:i});if(s>o-40)return this.incrementValue({e:e,node:t,canvas:i});const a=__privateMethod(this,_ComboWidget_instances,getValues_fn).call(this,t),n=toArray(a),l=a!=n?Object.values(a):a;new LiteGraph.ContextMenu(l,{scale:Math.max(1,i.ds.scale),event:e,className:"dark",callback:s=>{this.setValue(a!=n?l.indexOf(s):s,{e:e,node:t,canvas:i})}})}}_ComboWidget_instances=new WeakSet,getValues_fn=function(e){const{values:t}=this.options;if(null==t)throw new Error("[ComboWidget]: values is required");return"function"==typeof t?t(this,e):t},canUseButton_fn=function(e){const{values:t}=this.options;if("function"==typeof t)return!1;const i=toArray(t);if(!(i.length>1))return!1;const s=i.at(0),o=i.at(-1);return s===o||this.value!==(e?o:s)},tryChangeValue_fn=function(e,t){const i=__privateMethod(this,_ComboWidget_instances,getValues_fn).call(this,t.node),s=toArray(i);t.canvas.last_mouseclick=0;const o=clamp("object"==typeof i?s.indexOf(String(this.value))+e:s.indexOf(this.value)+e,0,s.length-1),a=Array.isArray(i)?i[o]:o;this.setValue(a,t)};class NumberWidget extends BaseSteppedWidget{constructor(e,t){super(e,t),this.type="number"}get _displayValue(){return Number(this.value).toFixed(void 0!==this.options.precision?this.options.precision:3)}canIncrement(){const{max:e}=this.options;return null==e||this.valuee}incrementValue(e){this.setValue(this.value+getWidgetStep(this.options),e)}decrementValue(e){this.setValue(this.value-getWidgetStep(this.options),e)}setValue(e,t){let i=e;null!=this.options.min&&ithis.options.max&&(i=this.options.max),super.setValue(i,t)}onClick({e:e,node:node,canvas:canvas}){const x=e.canvasX-node.pos[0],width=this.width||node.size[0],delta=x<40?-1:x>width-40?1:0;delta?this.setValue(this.value+delta*getWidgetStep(this.options),{e:e,node:node,canvas:canvas}):canvas.prompt("Value",this.value,(v=>{if(/^[\d\s()*+/-]+|\d+\.\d+$/.test(v))try{v=eval(v)}catch{}const newValue=Number(v);isNaN(newValue)||this.setValue(newValue,{e:e,node:node,canvas:canvas})}),e)}onDrag({e:e,node:t,canvas:i}){const s=this.width||t.width,o=e.canvasX-t.pos[0];(o<40?-1:o>s-40?1:0)&&o>-3&&o{null!==s&&this.setValue(s,{e:e,node:t,canvas:i})}),e,(null==(s=this.options)?void 0:s.multiline)??!1)}}class LegacyWidget extends BaseWidget{draw(e,t,i,s,o,a){}drawWidget(e,t){const i=LiteGraph.NODE_WIDGET_HEIGHT;this.draw&&this.draw(e,this.node,t.width,this.y,i,!!t.showText)}onClick(){}}function toClass(e,...t){return t[0]instanceof e?t[0]:new e(...t)}function toConcreteWidget(e,t,i=!0){if(e instanceof BaseWidget)return e;const s=e;switch(s.type){case"button":return toClass(ButtonWidget,s,t);case"toggle":return toClass(BooleanWidget,s,t);case"slider":return toClass(SliderWidget,s,t);case"knob":return toClass(KnobWidget,s,t);case"combo":return toClass(ComboWidget,s,t);case"number":return toClass(NumberWidget,s,t);case"string":case"text":return toClass(TextWidget,s,t);default:if(i)return toClass(LegacyWidget,e,t)}}let nodesStore$1=null;const custom_themes=["custom_obsidian","custom_obsidian_dark","custom_milk_white","obsidian_dark","obsidian","milk_white"],NODE_CUSTOM_COLORS={"easy positive":"green","easy negative":"red","easy promptList":"cyan","easy promptLine":"cyan","easy promptConcat":"cyan","easy promptReplace":"cyan","easy forLoopStart":"blue","easy forLoopEnd":"blue","easy whileLoopStart":"blue","easy whileLoopEnd":"blue","easy loadImagesForLoop":"blue"};let NODE_COLOR_THEMES=LGraphCanvas.node_colors,color_palettes=null,color_palette=null,monitor=null;for(let e in settings)addSetting(settings[e]);let OriginDrawNodeWidgets=null;function getColorBrightness(e,t,i){return.299*e+.587*t+.114*i}function isColorDarkOrLight(e){let t=e.replace("#","");return getColorBrightness(parseInt(t.substring(0,2),16),parseInt(t.substring(2,4),16),parseInt(t.substring(4,6),16))>127.5?"light":"dark"}function drawNodeShape(e,t,i,s,o,a,n){var l,r;t.strokeStyle=s,t.fillStyle=o;const d=LiteGraph.NODE_TITLE_HEIGHT,{low_quality:c}=this,{collapsed:u}=e.flags,p=e.renderingShape,{title_mode:A}=e.constructor,g=A!=LiteGraph.TRANSPARENT_TITLE&&A!=LiteGraph.NO_TITLE;let h=new Float32Array(4);h=[0,g?-d:0,i[0]+1,g?i[1]+d:i[1]];let m=t.globalAlpha;if(t.lineWidth=1,t.beginPath(),p==LiteGraph.BOX_SHAPE||c?t.fillRect(h[0],h[1],h[2],h[3]):p==LiteGraph.ROUND_SHAPE||p==LiteGraph.CARD_SHAPE?t.roundRect(h[0],h[1],h[2],h[3],p==LiteGraph.CARD_SHAPE?[this.round_radius,this.round_radius,0,0]:[this.round_radius]):p==LiteGraph.CIRCLE_SHAPE&&t.arc(.5*i[0],.5*i[1],.5*i[0],0,2*Math.PI),t.strokeStyle=LiteGraph.WIDGET_OUTLINE_COLOR,t.stroke(),t.strokeStyle=s,t.fill(),e.has_errors&&!LiteGraph.use_legacy_node_error_indicator&&strokeShape(t,h,{shape:p,title_mode:A,title_height:d,padding:12,color:LiteGraph.NODE_ERROR_COLOUR,collapsed:u,thickness:10}),!u&&g&&(t.shadowColor="transparent",t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(0,-1,h[2],2)),t.shadowColor="transparent",e.onDrawBackground&&e.onDrawBackground(t,this,this.canvas,this.graph_mouse),g||A==LiteGraph.TRANSPARENT_TITLE){const s="dark"==isColorDarkOrLight((null==e?void 0:e.color)||"#ffffff");e.drawTitleBarBackground(t,{scale:this.ds.scale,low_quality:c}),t.globalAlpha=m;let o=!1;LiteGraph.node_box_coloured_by_mode&&LiteGraph.NODE_MODES_COLORS[e.mode]&&(o=LiteGraph.NODE_MODES_COLORS[e.mode]),LiteGraph.node_box_coloured_when_on&&(o=e.action_triggered?"#FFF":e.execute_triggered?"#AAA":o);let n=10;if(e.onDrawTitleBox)e.onDrawTitleBox(t,d,i,this.ds.scale);else if(p==LiteGraph.ROUND_SHAPE||p==LiteGraph.CIRCLE_SHAPE||p==LiteGraph.CARD_SHAPE){const i=s?"#ffffff":LiteGraph.NODE_SELECTED_TITLE_COLOR,l=s?"#eeeeee":e.boxcolor||o||LiteGraph.NODE_DEFAULT_BOXCOLOR;t.fillStyle=a?i:l,t.beginPath(),t.fillRect(10,0-1.05*n-1,1.1*n,.125*n),t.fillRect(10,0-1.45*n-1,1.1*n,.125*n),t.fillRect(10,0-1.85*n-1,1.1*n,.125*n)}else t.fillStyle=e.renderingBoxColor,t.fillRect(.5*(d-n),-.5*(d+n),n,n);if(t.globalAlpha=m,e.onDrawTitleText&&e.onDrawTitleText(t,d,i,this.ds.scale,this.title_text_font,a),!c){t.font=this.title_text_font;const i=e.getTitle()??`❌ ${e.type}`,o=String(i)+(e.pinned?"📌":"");o&&(t.fillStyle=a?s?"#ffffff":LiteGraph.NODE_SELECTED_TITLE_COLOR:s?"#ffffff":e.constructor.title_text_color||this.node_title_color,e.flags.collapsed?(t.textAlign="left",t.measureText(o),t.fillText(o.substr(0,20),d,LiteGraph.NODE_TITLE_TEXT_Y-d),t.textAlign="left"):(t.textAlign="left",t.fillText(o,d,LiteGraph.NODE_TITLE_TEXT_Y-d)))}if(!u&&e.subgraph&&!e.skip_subgraph_button){let i=LiteGraph.NODE_TITLE_HEIGHT,s=e.size[0]-i,o=LiteGraph.isInsideRectangle(this.graph_mouse[0]-e.pos[0],this.graph_mouse[1]-e.pos[1],s+2,2-i,i-4,i-4);t.fillStyle=o?"#888":"#555",p==LiteGraph.BOX_SHAPE||c?t.fillRect(s+2,2-i,i-4,i-4):(t.beginPath(),t.roundRect(s+2,2-i,i-4,i-4,[4]),t.fill()),t.fillStyle="#333",t.beginPath(),t.moveTo(s+.2*i,.6*-i),t.lineTo(s+.8*i,.6*-i),t.lineTo(s+.5*i,.3*-i),t.fill()}null==(l=e.onDrawTitle)||l.call(e,t)}if(null==e?void 0:e.strokeStyles){for(const i of Object.values(e.strokeStyles)){const s=i.call(e);s&&strokeShape(t,h,{shape:p,title_height:d,title_mode:A,collapsed:u,...s})}null==e||e.drawProgressBar(t)}else if(a){null==(r=e.onBounding)||r.call(e,h),A==LiteGraph.TRANSPARENT_TITLE&&(h[1]-=d,h[3]+=d),t.lineWidth=2,t.globalAlpha=.8,t.beginPath();let o=0,a=0,n=1;p==LiteGraph.BOX_SHAPE?t.rect(o+h[0],o+h[1],a+h[2],a+h[3]):p==LiteGraph.ROUND_SHAPE||p==LiteGraph.CARD_SHAPE&&e.flags.collapsed?t.roundRect(o+h[0],o+h[1],a+h[2],a+h[3],[this.round_radius*n]):p==LiteGraph.CARD_SHAPE?t.roundRect(o+h[0],o+h[1],a+h[2],a+h[3],[this.round_radius*n,n,this.round_radius*n,n]):p==LiteGraph.CIRCLE_SHAPE&&t.arc(.5*i[0],.5*i[1],.5*i[0]+6,0,2*Math.PI),t.strokeStyle=LiteGraph.NODE_BOX_OUTLINE_COLOR,t.stroke(),t.strokeStyle=s,t.globalAlpha=1}e.execute_triggered>0&&e.execute_triggered--,e.action_triggered>0&&e.action_triggered--}function drawNodeWidgets(e,t,i){var s,o;if(!e.widgets)return;const a=e.widgets.some((e=>["easyHidden","fastHidden"].includes(e.type))),n=custom_themes.includes(color_palette);if(!a&&!n)return void(OriginDrawNodeWidgets&&(null==OriginDrawNodeWidgets||OriginDrawNodeWidgets.apply(this,arguments)));let l=this.low_quality||!1,r=this.editor_alpha||1;const d=e.size[0],{widgets:c}=e,u=LiteGraph.NODE_WIDGET_HEIGHT,p=!l;i.save(),i.globalAlpha=r;for(const A of c){if(!e.isWidgetVisible(A))continue;const{y:t}=A,a=A.advanced?LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR:LiteGraph.WIDGET_OUTLINE_COLOR;A.last_y=t,A.computedDisabled=A.disabled||null!=(null==(s=e.getSlotFromWidget(A))?void 0:s.link),i.strokeStyle=a,i.fillStyle="#222",i.textAlign="left",A.computedDisabled&&(i.globalAlpha*=.5);const c=A.width||d;if("function"==typeof A.draw)A.draw(i,e,c,t,u,l);else if("$$canvas-image-preview"==A.name){const e=(e,t,i,s)=>{renderPreview(e,t,s)};A.draw=e}else null==(o=toConcreteWidget(A,e,!1))||o.drawWidget(i,{width:c,showText:p,isEasyUseTheme:n});i.globalAlpha=r}i.restore()}function onMenuNodeMode(e,t,i,s,o){return new LiteGraph.ContextMenu(LiteGraph.NODE_MODES,{event:i,callback:function(e){if(!o)return;var t=Object.values(LiteGraph.NODE_MODES).indexOf(e),i=function(e){t>=0&&LiteGraph.NODE_MODES[t]?e.changeMode(t):e.changeMode(LiteGraph.ALWAYS),nodesStore$1||(nodesStore$1=useNodesStore()),nodesStore$1.update()},s=LGraphCanvas.active_canvas;if(!s.selected_nodes||Object.keys(s.selected_nodes).length<=1)i(o);else for(var a in s.selected_nodes)i(s.selected_nodes[a])},parentMenu:s,node:o}),!1}function onMenuNodeColors(e,t,i,s,o){if(!o)throw"no node for color";var a=[];for(var n in a.push({value:null,content:"No color"}),LGraphCanvas.node_colors){var l=LGraphCanvas.node_colors[n];e={value:n,content:""+n+""};a.push(e)}return new LiteGraph.ContextMenu(a,{event:i,callback:function(e){if(!o)return;var t=e.value?LGraphCanvas.node_colors[e.value]:null,i=function(e){t?e.constructor===LiteGraph.LGraphGroup?e.color=t.groupcolor:(e.color=t.color,e.bgcolor=t.bgcolor):(delete e.color,delete e.bgcolor),nodesStore$1||(nodesStore$1=useNodesStore()),nodesStore$1.update()},s=LGraphCanvas.active_canvas;if(!s.selected_nodes||Object.keys(s.selected_nodes).length<=1)i(o);else for(var a in s.selected_nodes)i(s.selected_nodes[a]);o.setDirtyCanvas(!0,!0)},parentMenu:s,node:o}),!1}function onShowPropertyEditor(e,t,i,s,o){var a=e.property||"title",n=o[a],l=document.createElement("div");l.is_modified=!1,l.className="graphdialog",l.innerHTML="",l.close=function(){l.parentNode&&l.parentNode.removeChild(l)},l.querySelector(".name").innerText=a;var r=l.querySelector(".value");r&&(r.value=n,r.addEventListener("blur",(function(e){this.focus()})),r.addEventListener("keydown",(function(e){if(l.is_modified=!0,27==e.keyCode)l.close();else if(13==e.keyCode)g();else if(13!=e.keyCode&&"textarea"!=e.target.localName)return;e.preventDefault(),e.stopPropagation()})));var d=LGraphCanvas.active_canvas.canvas,c=d.getBoundingClientRect(),u=-20,p=-20;c&&(u-=c.left,p-=c.top),event?(l.style.left=event.clientX+u+"px",l.style.top=event.clientY+p+"px"):(l.style.left=.5*d.width+u+"px",l.style.top=.5*d.height+p+"px"),l.querySelector("button").addEventListener("click",g),d.parentNode.appendChild(l),r&&r.focus();var A=null;function g(){r&&function(t){"Number"==e.type?t=Number(t):"Boolean"==e.type&&(t=Boolean(t));o[a]=t,l.parentNode&&l.parentNode.removeChild(l);o.setDirtyCanvas(!0,!0),nodesStore$1||(nodesStore$1=useNodesStore());nodesStore$1.update()}(r.value)}l.addEventListener("mouseleave",(function(e){LiteGraph.dialog_close_on_mouse_leave&&!l.is_modified&&LiteGraph.dialog_close_on_mouse_leave&&(A=setTimeout(l.close,LiteGraph.dialog_close_on_mouse_leave_delay))})),l.addEventListener("mouseenter",(function(e){LiteGraph.dialog_close_on_mouse_leave&&A&&clearTimeout(A)}))}registerExtension({name:"Comfy.EasyUse.UI",init(){var e,t;const i="Comfy.CustomColorPalettes",s="Comfy.Settings.Comfy.CustomColorPalettes";if(color_palettes||(color_palettes=getSetting(i,s)),color_palette||(color_palette=getSetting("Comfy.ColorPalette","Comfy.Settings.Comfy.ColorPalette")||"dark"),(!(null==(e=null==color_palettes?void 0:color_palettes.obsidian)?void 0:e.version)||color_palettes.obsidian.version{(null==e?void 0:e.value)&&(null==e?void 0:e.oldValue)&&(await sleep(1),Object.assign(app$1.canvas.default_connection_color_byType,CUSTOM_LINK_TYPES_COLOR),Object.assign(LGraphCanvas.link_type_colors,CUSTOM_LINK_TYPES_COLOR)),"custom_milk_white"==e.value&&document.body.classList.remove(DARK_THEME_CLASS)})),setTimeout((e=>setCrystoolsUI(getSetting("Comfy.UseNewMenu")||"Disabled")),1);const t=null==(e=app$1.ui.settings.settingsLookup)?void 0:e["Comfy.UseNewMenu"];t&&(t.onChange=e=>setCrystoolsUI(e)),api.addEventListener("easyuse-toast",(e=>{const t=e.detail.content,i=e.detail.type,s=e.detail.duration;i?toast.show({id:`toast-${i}`,icon:toast[i+"_icon"],content:`${t}`,duration:s||3e3}):toast.info(t,s)}))},async nodeCreated(e){if(NODE_CUSTOM_COLORS.hasOwnProperty(e.comfyClass)){const t=NODE_CUSTOM_COLORS[e.comfyClass],i=NODE_COLOR_THEMES[t];if(!i)return;!e.bgcolor&&i.bgcolor&&(e.bgcolor=i.bgcolor),!e.color&&i.color&&(e.color=i.color)}}});const setCrystoolsUI=e=>{var t;const i=(null==(t=document.getElementById("crystools-root"))?void 0:t.children)||null,s=getSetting("Comfy.Workflow.WorkflowTabsPosition",null);if((null==i?void 0:i.length)>0&&s)if(monitor||(monitor=document.getElementById("MonitorUI")),"Disabled"==e){document.getElementById("crystools-root").appendChild(monitor)}else{let e=document.getElementById("crystools-root-easyuse");if(e)e.appendChild(monitor);else{const e=document.getElementsByClassName("comfyui-menu-right");e.length>0&&e[0].before($el("div",{id:"crystools-root-easyuse"},monitor))}}};let origProps={};const getWidgetByName=(e,t)=>e.widgets.find((e=>e.name===t)),doesInputWithNameLink=(e,t,i)=>!!e.inputs&&e.inputs.some((e=>e.name===t&&e.link&&!i)),toggleWidget=(e,t,i=!1,s="")=>{var o;if(!t||doesInputWithNameLink(e,t.name,i))return;origProps[t.name]||(origProps[t.name]={origType:t.type,origComputeSize:t.computeSize});const a=e.size;t.type=i?origProps[t.name].origType:"easyHidden"+s,t.computeSize=i?origProps[t.name].origComputeSize:()=>[0,-4],null==(o=t.linkedWidgets)||o.forEach((s=>toggleWidget(e,s,":"+t.name,i)));const n=i?Math.max(e.computeSize()[1],a[1]):e.size[1];e.setSize([e.size[0],n])},getWidgetValue=(e,t=0)=>{var i,s;if(e)return(null==(i=e.widgets)?void 0:i[t])?e.widgets[t].value:e.widgets_values?null==(s=e.widgets_values)?void 0:s[t]:void 0},updateNodeHeight=e=>e.setSize([e.size[0],e.computeSize()[1]]),getNodeById=(e,t)=>graph.getNodeById(e),getSelectedNodes=e=>{var t;try{return Object.values(null==(t=null==graph?void 0:graph.list_of_graphcanvas[0])?void 0:t.selected_nodes)}catch(i){return[]}};function easeInOut(e){return.5-.5*Math.cos(Math.PI*e)}function lerp(e,t,i){return e+easeInOut(i)*(t-e)}const jumpToPosition=([e,t],i)=>{const s=i.ds,o=document.body.clientWidth,a=document.body.clientHeight,n=s.scale,l=.5*o/n-e,r=.5*a/n-t,d=Date.now()+250,c=s.offset[0],u=s.offset[1],p=()=>{const e=d-Date.now();if(!(Date.now(){var i,s;const o=(null==(s=null==(i=e.graph)?void 0:i.list_of_graphcanvas)?void 0:s[0])||null;if(!o)return;const[a,n]=e.pos,[l,r]=e.size;jumpToPosition([a+l/2,n+r/2],o),t&&o.selectNode(e)},jumpToNodeId=e=>{const t=getNodeById(e);t&&jumpToNode(t)},getLinks=()=>graph.links??[],getLinkById=(e,t=getLinks())=>t[e],getAllNodes=e=>graph._nodes??[],formatVariables=e=>e.toLowerCase().replace(/_./g,(e=>e.replace("_","").toUpperCase())),isGetNode=e=>"easy getNode"===e.type,isSetNode=e=>"easy setNode"===e.type,isGetSetNode=e=>isGetNode(e)||isSetNode(e),getGetSetNodes=(e=getAllNodes())=>e.filter((e=>isGetSetNode(e)));let lastTargetGetPos={},lastTargetSetPos={};const chainNode=(e=!1,t={})=>{var i,s,o,a,n;const l=getGetSetNodes();if(!l||l.length<1)return;const r=getSelectedNodes();if(0===r.length)return;let d=t.inputX||160,c=t.ouputX||60;if(r.filter((e=>isGetSetNode(e))).length>1)return;for(const p of r){let a=t.inputY||10,n=t.outputY||30;const l=[],u=p.id;if(p.graph){lastTargetGetPos[u]||(lastTargetGetPos[u]=[]);for(const e of p.inputs??[]){const t=e.link;if(!t)continue;const{origin_id:i,target_slot:s}=getLinkById(t),o=getNodeById(i);if(!o)continue;if(!isGetSetNode(o))continue;let n=p.getConnectionPos(!0,s);lastTargetGetPos[u][s]||(lastTargetGetPos[u][s]=n),!lastTargetGetPos[u]||lastTargetGetPos[u][s][1]===n[1]&&lastTargetGetPos[u][s][0]===n[0]||(d=n[0]-lastTargetGetPos[u][s][0],a=n[1]-lastTargetGetPos[u][s][1],o.pos=[o.pos[0]+d,o.pos[1]+a]),lastTargetGetPos[u][s]=n,l.push(o)}lastTargetSetPos[u]||(lastTargetSetPos[u]=[]);for(const e of p.outputs??[])if(e.links&&p.graph)for(const t of e.links){const{target_id:e,target_slot:s,origin_slot:o}=getLinkById(t),a=getNodeById(e);if(!a)continue;if(!isGetSetNode(a))continue;const r=null==(i=a.outputs)?void 0:i.links;if((null==r?void 0:r.length)>1)return;const d=p.getConnectionPos(!1,o);lastTargetSetPos[u][o]||(lastTargetSetPos[u][o]=d),!lastTargetSetPos[u]||lastTargetSetPos[u][o][0]===d[0]&&lastTargetSetPos[u][o][1]===d[1]||(c=d[0]-lastTargetSetPos[u][o][0],n=d[1]-lastTargetSetPos[u][o][1],a.pos=[a.pos[0]+c,a.pos[1]+n]),lastTargetSetPos[u][o]=d,l.push(a)}if(e&&1===r.length){const e=[p,...l];(null==(o=null==(s=p.graph)?void 0:s.list_of_graphcanvas)?void 0:o[0]).selectNodes(e)}}}const u=r[0];if(!u)return;(null==(n=null==(a=u.graph)?void 0:a.list_of_graphcanvas)?void 0:n[0]).setDirty(!0,!0)},setWidgetValue=(e,t,i=0)=>{e.widgets_values||(e.widgets_values=[]),e.widgets_values[i]=t,e.widgets[i].value=t},graphAdd=e=>graph.add(e),graphRemove=e=>graph.remove(e),traverseInputReroute=(e,t=0)=>{var i,s;if("Reroute"!==e.type)return[e,t];const o=e,a=null==(s=null==(i=o.inputs)?void 0:i[0])?void 0:s.link;if(!a)return[o,t];const n=getLinkById(a);if(!n)return[o,t];const l=getNodeById(n.origin_id);return l?(setTimeout((()=>{graphRemove(o)})),traverseInputReroute(l,n.origin_slot)):[o,t]},traverseOutputReroute=e=>{var t,i,s;if("Reroute"!==e.type)return e;const o=e,a=null==(i=null==(t=o.outputs)?void 0:t[0])?void 0:i.links;if(!a)return o;const n=a[0];if(!n)return o;const l=getLinkById(n);if(!l)return o;const r=getNodeById(l.target_id);return r?(1===(null==(s=o.outputs[0].links)?void 0:s.length)&&setTimeout((()=>{graphRemove(o)})),traverseOutputReroute(r)):o},convertLinkToGetSetNode=(e,t=!1)=>{var i,s,o,a,n,l,r,d,c,u;const{type:p}=e;if("*"===p)return;let{origin_id:A,target_id:g,origin_slot:h,target_slot:m}=e,f=getNodeById(A),y=getNodeById(g);if(!f||!y)return!1;if("Reroute"===f.type){let e=0;[f,e]=traverseInputReroute(f),A=null==f?void 0:f.id,h=e,void 0!==h&&-1!==h||(h=0)}if("Reroute"===y.type&&(y=traverseOutputReroute(y),g=null==y?void 0:y.id,m=null==y?void 0:y.inputs.findIndex((e=>e.type===p)),void 0!==m&&-1!==m||(m=0)),void 0===A||void 0===g||!f||!y)return!1;if(t&&(isGetSetNode(f)||isGetSetNode(y)))return!1;let v=formatVariables((null==(i=y.getInputInfo(m))?void 0:i.name)??p.toLowerCase());v||(v=formatVariables((null==(o=null==(s=null==f?void 0:f.outputs)?void 0:s[h])?void 0:o.name)??(null==(n=null==(a=null==f?void 0:f.outputs)?void 0:a[h])?void 0:n.type.toString())??v+`_from_${A}_to_${g}`));let _,w=!1,b=!1;if(isGetSetNode(f))v=getWidgetValue(f),b=!0;else{const e=null==(r=null==(l=f.outputs)?void 0:l[h])?void 0:r.links;if(e)for(const t of e){const e=getNodeById((null==(d=getLinkById(t))?void 0:d.target_id)??-1);e&&isGetSetNode(e)&&isSetNode(e)&&(v=getWidgetValue(e),b=!0)}if(!b){for(const e of getGetSetNodes()){if(!(v===getWidgetValue(e)&&isSetNode(e)))continue;const t=null==(c=e.inputs[0])?void 0:c.link;(null==(u=getLinkById(t))?void 0:u.origin_id)===f.id?b=!0:w=!0}w&&(v+=`_from_${A}_to_${g}`)}}if(!b){_=LiteGraph.createNode("easy setNode"),_.is_auto_link=!0;const e=f.getConnectionPos(!1,h);_.pos=[e[0]+20,e[1]],_.inputs[0].name=v,_.inputs[0].type=p,_.inputs[0].widget=y.inputs[m].widget,setWidgetValue(_,v),graphAdd(_),_.flags.collapsed=!0;let t=[];f.widgets?t=Object.values(f.widgets).map((e=>e.value)):f.widgets_values&&(t=JSON.parse(JSON.stringify(f.widgets_values))),f.connect(h,_,0),f.widgets_values=t,"PrimitiveNode"===f.type&&setTimeout((()=>{if(f){f.connect(h,_,0);for(const[e,i]of t.entries())setWidgetValue(f,i,e);null!==_&&_.setSize(_.computeSize())}}))}const S=LiteGraph.createNode("easy getNode"),N=y.getConnectionPos(!0,m);S.pos=[N[0]-150,N[1]],S.outputs[0].name=v,S.outputs[0].type=p,S.outputs[0].widget=y.inputs[m].widget,graphAdd(S),setWidgetValue(S,v),null===S||(S.flags.collapsed=!0,S.setSize(S.computeSize()),S.connect(0,y,m))},addNodesToGroup=(e,t=[],i=20)=>{var s,o,a,n,l,r,d,c,u,p;for(var A of(o=a=n=l=-1,r=d=c=u=-1,[e._nodes,t]))for(var g in A)r=(p=A[g]).pos[0],d=p.pos[1],c=p.pos[0]+p.size[0],u=p.pos[1]+p.size[1],"Reroute"!=p.type&&(d-=LiteGraph.NODE_TITLE_HEIGHT),(null==(s=p.flags)?void 0:s.collapsed)&&(u=d+LiteGraph.NODE_TITLE_HEIGHT,(null==p?void 0:p._collapsed_width)&&(c=r+Math.round(p._collapsed_width))),(-1==o||rn)&&(n=c),(-1==l||u>l)&&(l=u);a-=Math.round(1.4*e.font_size),e.pos=[o-i,a-i],e.size=[n-o+2*i,l-a+2*i]},setNodesSameSize=(e,t="width")=>{var i;const s=e[0],o="width"==t?0:1,a=null==(i=s.size)?void 0:i[o];a&&(e.forEach((e=>{e.size[o]=a})),LGraphCanvas.active_canvas.setDirty(!0,!0))},distributeNodes=(e,t="horizontal")=>{if(e.length<3)return;const i="horizontal"===t?0:1;e.sort(((e,t)=>e.pos[i]-t.pos[i]));const s=Math.min(...e.map((e=>e.pos[i]))),o=(Math.max(...e.map((e=>e.pos[i]+e.size[i])))-s-e.reduce(((e,t)=>e+t.size[i]),0))/(e.length-1);let a=s;e.forEach((e=>{e.pos[i]=a,a+=e.size[i]+o})),LGraphCanvas.active_canvas.setDirty(!0,!0)},CANVAS_IMAGE_PREVIEW_WIDGET="$$canvas-image-preview";function useNodeCanvasImagePreview(){const e=useImagePreviewWidget();return{showCanvasImagePreview:function(t){var i;(null==(i=t.imgs)?void 0:i.length)&&t.widgets&&(t.widgets.find((e=>e.name===CANVAS_IMAGE_PREVIEW_WIDGET))||e(t,{type:"IMAGE_PREVIEW",name:CANVAS_IMAGE_PREVIEW_WIDGET}))},removeCanvasImagePreview:function(e){var t,i;if(!e.widgets)return;const s=e.widgets.findIndex((e=>e.name===CANVAS_IMAGE_PREVIEW_WIDGET));s>-1&&(null==(i=(t=e.widgets[s]).onRemove)||i.call(t),e.widgets.splice(s,1))}}}const ANIM_PREVIEW_WIDGET="$$comfy_animation_preview";function useNodeVideoPreview(){return{showVideoPreview:function(e){var t;(null==(t=e.video)?void 0:t.length)&&e.widgets&&e.widgets.findIndex((e=>e.name===ANIM_PREVIEW_WIDGET))},removeVideoPreview:function(e){var t,i;if(!e.widgets)return;const s=e.widgets.findIndex((e=>"video-preview"===e.name));s>-1&&(null==(i=(t=e.widgets[s]).onRemove)||i.call(t),e.widgets.splice(s,1))}}}const VIDEO_NODE_PROPERTY="video_upload",getNodeData=e=>{var t;return null==(t=e.constructor)?void 0:t.nodeData},getInputSpecsFromData=e=>{if(!e)return[];const{required:t,optional:i}=e,s=[];if(t)for(const o of Object.values(t))s.push(o);if(i)for(const o of Object.values(i))s.push(o);return s},hasInputProperty=(e,t)=>{if(!e)return!1;const i=getNodeData(e);if(!(null==i?void 0:i.input))return!1;return getInputSpecsFromData(i.input).some((e=>{var i;return null==(i=null==e?void 0:e[1])?void 0:i[t]}))};function isVideoNode(e){return!!e&&(!!e.videoContainer||!!e.widgets&&hasInputProperty(e,VIDEO_NODE_PROPERTY))}const getNodeId=e=>null==e?void 0:e.id.toString(),getNodeOutputs=e=>app$1.nodeOutputs[getNodeId(e)],getNodePreviews=e=>app$1.nodePreviewImages[getNodeId(e)],getPreviewParam=e=>e.animatedImages?"":app$1.getPreviewFormatParam();function getNodeImageUrls(e){var t;const i=getNodePreviews(e),s=getNodeOutputs(e);if((null==i?void 0:i.length)&&!e.isOutputFinal)return i;if(!(null==(t=null==s?void 0:s.images)?void 0:t.length))return(null==i?void 0:i.length)?i:void 0;const o=app$1.getRandParam(),a=getPreviewParam(e);return s.images.map((e=>{const t=new URLSearchParams(e);return api.apiURL(`/view?${t}${a}${o}`)}))}const VIDEO_WIDGET_NAME="video-preview",VIDEO_DEFAULT_OPTIONS={playsInline:!0,controls:!0,loop:!0},MEDIA_LOAD_TIMEOUT=8192,MAX_RETRIES=1,VIDEO_PIXEL_OFFSET=64,createContainer=()=>{const e=document.createElement("div");return e.classList.add("comfy-img-preview"),e},createTimeout=e=>new Promise((t=>setTimeout((()=>t(null)),e))),getVideoRealURL=e=>api.apiURL(`/view?filename=${encodeURIComponent(e.filename)}&type=${e.type}&subfolder=${e.subfolder}&rand=${Math.random()}`),useNodePreview=(e,t)=>{const{loadElement:i,onLoaded:s,onFailedLoading:o}=t,a=async(e,t=0)=>{const s=await Promise.race([i(e),createTimeout(MEDIA_LOAD_TIMEOUT)]);return null===s&&t0?e.videos.map((e=>getVideoRealURL(e))):getNodeImageUrls(e);(null==n?void 0:n.length)&&((null==t?void 0:t.block)&&(e.isLoading=!0),(async e=>Promise.all(e.map((e=>a(e)))))(n).then((e=>{const t=e.filter((e=>null!==e));t.length&&(null==s||s(t))})).catch((()=>{null==o||o()})).finally((()=>{e.isLoading=!1})))}}},useNodeImage=e=>{e.previewMediaType="image";return useNodePreview(e,{loadElement:e=>new Promise((t=>{const i=new Image;i.onload=()=>t(i),i.onerror=()=>t(null),i.src=e})),onLoaded:t=>{e.imageIndex=null,e.imgs=t},onFailedLoading:()=>{e.imgs=void 0}})},useNodeVideo=e=>{e.previewMediaType="video";return useNodePreview(e,{loadElement:e=>new Promise((t=>{const i=document.createElement("video");Object.assign(i,VIDEO_DEFAULT_OPTIONS),i.onloadeddata=()=>t(i),i.onerror=()=>t(null),i.src=e})),onLoaded:t=>{const i=t[0];var s,o;i&&(e.videoContainer||(e.imgs&&(e.imgs=void 0),e.videoContainer=createContainer(),e.videoContainer.style.pointerEvents="auto",s=e.videoContainer,(null==(o=e.widgets)?void 0:o.some((e=>e.name===VIDEO_WIDGET_NAME)))||e.addDOMWidget(VIDEO_WIDGET_NAME,"video",s,{hideOnZoom:!1,serialize:!1})),e.videoContainer.replaceChildren(i),e.imageOffset=VIDEO_PIXEL_OFFSET)},onFailedLoading:()=>{e.videoContainer=void 0}})};function unsafeDrawBackground(e,t){var i;if(e.flags.collapsed)return;const{showCanvasImagePreview:s,removeCanvasImagePreview:o}=useNodeCanvasImagePreview(),{showVideoPreview:a,removeVideoPreview:n}=useNodeVideoPreview(),l=getNodeOutputs(e),r=getNodePreviews(e),d=l&&(e.images!==l.images||e.videos!==l.videos),c=r&&e.preview!==r;if(c&&(e.isOutputFinal=!1,e.isTwiceRendered&&(e.isTwiceRendered=!1),e.preview=r),d&&(e.isOutputFinal=!0,l.images&&(e.images=l.images),l.videos&&(e.videos=l.videos)),d||c){e.animatedImages=null==l?void 0:l.animated;const t=e.animatedImages&&l.images.some((e=>{var t;return null==(t=e.filename)?void 0:t.includes("webp")})),i=e.animatedImages&&!t||isVideoNode(this);d&&(null==l?void 0:l.videos)||i?useNodeVideo(e).showPreview():useNodeImage(e).showPreview()}if(e.id!=app$1.runningNodeId&&!e.isTwiceRendered){if(!e.isOutputFinal)return;e.videos?useNodeVideo(e.videos):useNodeImage(e).showPreview(),e.isTwiceRendered=!0}(null==(i=e.imgs)?void 0:i.length)&&(e.animatedImages||d&&(null==l?void 0:l.videos)?(o(e),a(e)):(n(e),s(e)))}const allow_widgets=["rescale_after_model","rescale","lora_name","upscale_method","image_output","add_noise","info","sampler_name","ckpt_B_name","ckpt_C_name","save_model","refiner_ckpt_name","num_loras","num_controlnet","mode","toggle","resolution","ratio","target_parameter","input_count","replace_count","downscale_mode","range_mode","text_combine_mode","input_mode","lora_count","ckpt_count","conditioning_mode","preset","use_tiled","use_batch","num_embeds","easing_mode","guider","scheduler","inpaint_mode","t5_type","rem_mode","encode","method"],ipa_presets=["LIGHT - SD1.5 only (low strength)","STANDARD (medium strength)","VIT-G (medium strength)","REGULAR - FLUX and SD3.5 only (high strength)","PLUS (high strength)","PLUS (kolors genernal)","PLUS FACE (portraits)","FULL FACE - SD1.5 only (portraits stronger)","COMPOSITION"],ipa_loras_presets=["FACEID","FACEID PLUS - SD1.5 only","FACEID PLUS V2","FACEID PLUS KOLORS"],ipa_faceid_presets=[...ipa_loras_presets,"FACEID PORTRAIT (style transfer)","FACEID PORTRAIT UNNORM - SDXL only (strong)"],has_seed_nodes=["easy seed","easy latentNoisy","easy wildcards","easy preSampling","easy preSamplingAdvanced","easy preSamplingNoiseIn","easy preSamplingSdTurbo","easy preSamplingCascade","easy preSamplingDynamicCFG","easy preSamplingLayerDiffusion","easy fullkSampler","easy fullCascadeKSampler"],loader_nodes=["easy fullLoader","easy a1111Loader","easy comfyLoader","easy hyditLoader","easy pixArtLoader"],samplers_nodes=["easy fullkSampler","easy kSampler","easy kSamplerCustom","easy kSamplerTiled","easy kSamplerLayerDiffusion","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerSDTurbo","easy fullCascadeKSampler","easy cascadeKSampler"],image_dynamic_nodes=["easy imageSize","easy imageSizeBySide","easy imageSizeByLongerSide","easy imageSizeShow","easy imageRatio","easy imagePixelPerfect"],loop_nodes=["easy forLoopStart","easy forLoopEnd","easy whileLoopStart","easy whileLoopEnd"],index_switch_nodes=["easy anythingIndexSwitch","easy imageIndexSwitch","easy textIndexSwitch","easy conditioningIndexSwitch"],inverse_switch_nodes=["easy anythingInversedSwitch"],change_slots_nodes=["easy loadImagesForLoop",...loop_nodes,...index_switch_nodes,...inverse_switch_nodes],value_names={"easy anythingInversedSwitch":"out","easy anythingIndexSwitch":"value","easy imageIndexSwitch":"image","easy textIndexSwitch":"text","easy conditioningIndexSwitch":"cond"};function toggleLogic(e,t){const i=e.comfyClass;let s=t.value;switch(t.name){case"range_mode":toggleWidget(e,getWidgetByName(e,"step"),"step"==s),toggleWidget(e,getWidgetByName(e,"num_steps"),"num_steps"==s),updateNodeHeight(e);break;case"text_combine_mode":toggleWidget(e,getWidgetByName(e,"replace_text"),"replace"==s);break;case"lora_name":["lora_model_strength","lora_clip_strength"].map((t=>toggleWidget(e,getWidgetByName(e,t),"None"!==s)));break;case"resolution":"自定义 x 自定义"===s&&(t.value="width x height (custom)"),["empty_latent_width","empty_latent_height","width","height"].map((t=>toggleWidget(e,getWidgetByName(e,t),"width x height (custom)"===s)));break;case"ratio":["empty_latent_width","empty_latent_height"].map((t=>toggleWidget(e,getWidgetByName(e,t),"custom"===s)));break;case"num_loras":var o=s+1,a=getWidgetByName(e,"mode").value;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),"simple"!==a)));for(let t=o;t<21;t++)["lora_"+t+"_name","lora_"+t+"_strength","lora_"+t+"_model_strength","lora_"+t+"_clip_strength"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"num_controlnet":o=s+1,a=getWidgetByName(e,"mode").value;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!0))),["start_percent_"+t,"end_percent_"+t].map((t=>toggleWidget(e,getWidgetByName(e,t),"simple"!==a)));for(let t=o;t<21;t++)["controlnet_"+t,"controlnet_"+t+"_strength","scale_soft_weight_"+t,"start_percent_"+t,"end_percent_"+t].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"mode":switch(null==e?void 0:e.comfyClass){case"easy loraStack":o=getWidgetByName(e,"num_loras").value+1,a=s;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),"simple"!==a)));updateNodeHeight(e);break;case"easy controlnetStack":o=getWidgetByName(e,"num_controlnet").value+1,a=s;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),"simple"!==a)));updateNodeHeight(e);break;case"easy icLightApply":a=s;["lighting","remove_bg"].map((t=>toggleWidget(e,getWidgetByName(e,t),"Foreground"===a))),toggleWidget(e,getWidgetByName(e,"source"),"Foreground"!==a),updateNodeHeight(e)}break;case"toggle":t.type="toggle",t.options={on:"Enabled",off:"Disabled"};break;case"t5_type":["clip_name","padding"].map((t=>toggleWidget(e,getWidgetByName(e,t),"sd3"==s))),["t5_name","device","dtype"].map((t=>toggleWidget(e,getWidgetByName(e,t),"t5v11"==s))),updateNodeHeight(e);break;case"preset":if("FLUX.1-dev"==s&&(t.value="REGULAR - FLUX and SD3.5 only (high strength)"),ipa_presets.includes(s)){let t=getWidgetByName(e,"use_tiled");toggleWidget(e,getWidgetByName(e,"lora_strength")),toggleWidget(e,getWidgetByName(e,"provider"),!!["REGULAR - FLUX and SD3.5 only (high strength)"].includes(s)),toggleWidget(e,getWidgetByName(e,"weight_faceidv2")),toggleWidget(e,getWidgetByName(e,"weight_kolors")),toggleWidget(e,getWidgetByName(e,"use_tiled"),!0),toggleWidget(e,getWidgetByName(e,"sharpening"),t&&t.value)}else ipa_faceid_presets.includes(s)&&(toggleWidget(e,getWidgetByName(e,"weight_faceidv2"),!!["FACEID PLUS V2","FACEID PLUS KOLORS"].includes(s)),toggleWidget(e,getWidgetByName(e,"weight_kolors"),!!["FACEID PLUS KOLORS"].includes(t.value)),["FACEID PLUS KOLORS","FACEID PORTRAIT (style transfer)","FACEID PORTRAIT UNNORM - SDXL only (strong)"].includes(s)?toggleWidget(e,getWidgetByName(e,"lora_strength"),!1):toggleWidget(e,getWidgetByName(e,"lora_strength"),!0),toggleWidget(e,getWidgetByName(e,"provider"),!0),toggleWidget(e,getWidgetByName(e,"use_tiled")),toggleWidget(e,getWidgetByName(e,"sharpening")));updateNodeHeight(e);break;case"use_tiled":toggleWidget(e,getWidgetByName(e,"sharpening"),!!s),updateNodeHeight(e);break;case"num_embeds":o=s+1;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!1)));break;case"brushnet_random":case"brushnet_segmentation":["dtype","scale","start_at","end_at"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0))),["fitting","function"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));break;case"powerpaint":["dtype","fitting","function","scale","start_at","end_at"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0)))}updateNodeHeight(e);break;case"encode":toggleWidget(e,getWidgetByName(e,"noise_mask"),!!["inpaint_model_conditioning","different_diffusion"].includes(s)),updateNodeHeight(e);break;case"image_output":toggleWidget(e,getWidgetByName(e,"link_id"),!!["Sender","Sender&Save"].includes(s)),toggleWidget(e,getWidgetByName(e,"decode_vae_name"),!!["Hide","Hide&Save"].includes(s)),["save_prefix","output_path","embed_workflow","number_padding","overwrite_existing"].map((t=>toggleWidget(e,getWidgetByName(e,t),!!["Save","Hide&Save","Sender&Save"].includes(s))));break;case"add_noise":var n=getWidgetByName(e,"control_before_generate"),l=getWidgetByName(e,"control_after_generate")||n;"disable"===s?(toggleWidget(e,getWidgetByName(e,"seed")),l&&(l.last_value=l.value,l.value="fixed",toggleWidget(e,l))):("enable"===s&&(t.value="enable (CPU)"),toggleWidget(e,getWidgetByName(e,"seed"),!0),l&&((null==l?void 0:l.last_value)&&(l.value=l.last_value),toggleWidget(e,l,!0))),updateNodeHeight(e);break;case"guider":switch(s){case"Basic":case"IP2P+Basic":["cfg_negative"].map((t=>toggleWidget(e,getWidgetByName(e,t))));break;case"CFG":case"IP2P+CFG":toggleWidget(e,getWidgetByName(e,"cfg"),!0),toggleWidget(e,getWidgetByName(e,"cfg_negative"));break;case"DualCFG":case"IP2P+DualCFG":["cfg","cfg_negative"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0)))}updateNodeHeight(e);break;case"scheduler":"easy preSamplingCustom"==i&&(["karrasADV","exponentialADV","polyExponential"].includes(s)?(["sigma_max","sigma_min"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0))),["denoise","beta_d","beta_min","eps_s","coeff"].map((t=>toggleWidget(e,getWidgetByName(e,t))),!1),toggleWidget(e,getWidgetByName(e,"rho"),"exponentialADV"!=s)):"vp"==s?(["sigma_max","sigma_min","denoise","rho","coeff"].map((t=>toggleWidget(e,getWidgetByName(e,t)))),["beta_d","beta_min","eps_s"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0)))):(["sigma_max","sigma_min","beta_d","beta_min","eps_s","rho"].map((t=>toggleWidget(e,getWidgetByName(e,t)))),toggleWidget(e,getWidgetByName(e,"coeff"),"gits"==s),toggleWidget(e,getWidgetByName(e,"denoise"),!0)),updateNodeHeight(e));break;case"conditioning_mode":["replace","concat","combine"].includes(s)?["average_strength","old_cond_start","old_cond_end","new_cond_start","new_cond_end"].map((t=>toggleWidget(e,getWidgetByName(e,t)))):"average"==s?(toggleWidget(e,getWidgetByName(e,"average_strength"),!0),["old_cond_start","old_cond_end","new_cond_start","new_cond_end"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)))):"timestep"==s&&(["average_strength"].map((t=>toggleWidget(e,getWidgetByName(e,t),!1))),["old_cond_start","old_cond_end","new_cond_start","new_cond_end"].map((t=>toggleWidget(e,getWidgetByName(e,t),!0))));break;case"rescale":getWidgetByName(e,"rescale_after_model").value,toggleWidget(e,getWidgetByName(e,"width"),"to Width/Height"===s),toggleWidget(e,getWidgetByName(e,"height"),"to Width/Height"===s),toggleWidget(e,getWidgetByName(e,"percent"),"by percentage"===s),toggleWidget(e,getWidgetByName(e,"longer_side"),"to longer side - maintain aspect"===s),updateNodeHeight(e);break;case"upscale_method":["factor","crop"].map((t=>toggleWidget(e,getWidgetByName(e,t),"None"!==s)));break;case"target_parameter":switch(i){case"easy XYInputs: Steps":["first_step","last_step"].map((t=>toggleWidget(e,getWidgetByName(e,t),"steps"==s))),["first_start_step","last_start_step"].map((t=>toggleWidget(e,getWidgetByName(e,t),"start_at_step"==s))),["first_end_step","last_end_step"].map((t=>toggleWidget(e,getWidgetByName(e,t),"end_at_step"==s)));break;case"easy XYInputs: Sampler/Scheduler":let t=getWidgetByName(e,"input_count").value+1;for(let i=0;itoggleWidget(e,getWidgetByName(e,t),"strength"==s))),["first_start_percent","last_start_percent"].map((t=>toggleWidget(e,getWidgetByName(e,t),"start_percent"==s))),["first_end_percent","last_end_percent"].map((t=>toggleWidget(e,getWidgetByName(e,t),"end_percent"==s))),["strength","start_percent","end_percent"].map((t=>toggleWidget(e,getWidgetByName(e,t),s!=t))),updateNodeHeight(e)}case"replace_count":o=s+1;for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!r)));for(let t=o;t<11;t++)["lora_name_"+t,"model_str_"+t,"clip_str_"+t].map((t=>toggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"ckpt_count":o=s+1;var d=-1!=getWidgetByName(e,"input_mode").value.indexOf("ClipSkip"),c=-1!=getWidgetByName(e,"input_mode").value.indexOf("VAE");for(let t=0;ttoggleWidget(e,getWidgetByName(e,t),!1)));updateNodeHeight(e);break;case"input_count":o=s+1;var u=getWidgetByName(e,"target_parameter").value;for(let t=0;ttoggleWidget(e,getWidgetByName(e,i),!!t)));["model_strength","clip_strength"].map((i=>toggleWidget(e,getWidgetByName(e,i),!t)));break;case"easy XYInputs: Checkpoint":o=getWidgetByName(e,"ckpt_count").value+1,d=-1!=getWidgetByName(e,"input_mode").value.indexOf("ClipSkip"),c=-1!=getWidgetByName(e,"input_mode").value.indexOf("VAE");for(let i=0;ie.name===t));if(-1!==e){for(let t=e;t{var e;const t=this.computeSize();t[0]"info"===e.name));if(-1!==e&&this.widgets[e]){this.widgets[e].value=t}}requestAnimationFrame((()=>{var e;const t=this.computeSize();t[0]"prompt"==e.name));this.addWidget("button","get values from COMBO link","",(()=>{var t,s;const o=(null==(s=null==(t=this.outputs[1])?void 0:t.links)?void 0:s.length)>0?this.outputs[1].links[0]:null,a=i.graph._nodes.find((e=>{var t;return null==(t=e.inputs)?void 0:t.find((e=>e.link==o))}));if(o&&a){const t=a.inputs.find((e=>e.link==o)).widget.name,i=a.widgets.find((e=>e.name==t));let s=(null==i?void 0:i.options.values)||null;s&&(s=s.join("\n"),e.value=s)}else toast.error($t("No COMBO link"),3e3)}),{serialize:!1})}),loader_nodes.includes(t.name)){let t=function(e){var t="";for(let i=0;ie.name===t+"_prompt")),s="comfy-multiline-input wildcard_"+t+"_"+this.id.toString();if(-1==i&&e){const i=document.createElement("textarea");i.className=s,i.placeholder="Wildcard Prompt ("+t+")";const o=this.addDOMWidget(t+"_prompt","customtext",i,{getValue:e=>i.value,setValue(e){i.value=e},serialize:!1});o.inputEl=i,o.inputEl.readOnly=!0,i.addEventListener("input",(()=>{var e;null==(e=o.callback)||e.call(o,o.value)})),o.value=e}else if(this.widgets[i])if(e){this.widgets[i].value=e}else{this.widgets.splice(i,1);const e=document.getElementsByClassName(s);e&&e[0]&&e[0].remove()}}};e.prototype.onExecuted=function(e){null==r||r.apply(this,arguments);const s=t(e.positive),o=t(e.negative);i.call(this,s,"positive"),i.call(this,o,"negative")}}if(["easy sv3dLoader"].includes(t.name)){let t=function(e,t,i){switch(e){case"azimuth":return i.readOnly=!0,i.style.opacity=.6,"0:(0.0,0.0)"+(t>1?`\n${t-1}:(360.0,0.0)`:"");case"elevation":return i.readOnly=!0,i.style.opacity=.6,"0:(-90.0,0.0)"+(t>1?`\n${t-1}:(90.0,0.0)`:"");case"custom":return i.readOnly=!1,i.style.opacity=1,"0:(0.0,0.0)\n9:(180.0,0.0)\n20:(360.0,0.0)"}};e.prototype.onNodeCreated=async function(){n&&n.apply(this,[]);const e=this.widgets.find((e=>"easing_mode"==e.name)),i=this.widgets.find((e=>"batch_size"==e.name)),s=this.widgets.find((e=>"scheduler"==e.name));setTimeout((o=>{s.value||(s.value=t(e.value,i.value,s.inputEl))}),1),e.callback=e=>{s.value=t(e,i.value,s.inputEl)},i.callback=i=>{s.value=t(e.value,i,s.inputEl)}}}if(has_seed_nodes.includes(o)&&(e.prototype.onNodeCreated=async function(){n&&n.apply(this,[]);const e=this.widgets.find((e=>["seed_num","seed"].includes(e.name))),s=this.widgets.find((e=>["control before generate","control after generate","control_before_generate","control_after_generate"].includes(e.name)));if("easy seed"==t.name&&s){const t=this.addWidget("button","🎲 Manual Random Seed",null,(t=>{"fixed"!=s.value&&(s.value="fixed"),e.value=Math.floor(Math.random()*MAX_SEED_NUM),i.queuePrompt(0,1)}),{serialize:!1});e.linkedWidgets=[t,s]}},e.prototype.onAdded=async function(){a&&a.apply(this,[]);const e=this.widgets.find((e=>["seed_num","seed"].includes(e.name))),t=this.widgets.find((e=>["control before generate","control after generate","control_before_generate","control_after_generate"].includes(e.name)));t&&setTimeout((i=>{["control before generate","control_before_generate"].includes(t.name)&&0===e.value&&(e.value=Math.floor(Math.random()*MAX_SEED_NUM))}),1)}),"easy convertAnything"==o&&(e.prototype.onNodeCreated=async function(){n&&n.apply(this,[]);const e=this.widgets.find((e=>"output_type"==e.name)),t=t=>{this.outputs[0].type=e.value.toUpperCase(),this.outputs[0].name=e.value,this.outputs[0].label=e.value};setTimeout((e=>t()),10),e.callback=e=>t()}),"easy imageInsetCrop"==o){let t=function(e){const t=e.widgets[0];for(let i=1;i<=4;i++)"Pixels"===t.value?(e.widgets[i].options.step=80,void 0!==e.widgets[i].options.step2&&(e.widgets[i].options.step2=8),e.widgets[i].options.max=8192):(e.widgets[i].options.step=10,void 0!==e.widgets[i].options.step2&&(e.widgets[i].options.step2=1),e.widgets[i].options.max=99)};e.prototype.onAdded=async function(e){const i=this.widgets[0];let s=i.callback;i.callback=(...e)=>{t(this),s&&s.apply(i,[...e])},setTimeout((e=>{t(this)}),1)}}if(change_slots_nodes.includes(o)){const t=e=>{switch(o){case"easy forLoopStart":case"easy whileLoopStart":return 0;case"easy forLoopEnd":case"easy whileLoopEnd":return 1}},i=e=>{switch(o){case"easy forLoopStart":return 2;case"easy forLoopEnd":case"easy whileLoopEnd":return 0;case"easy whileLoopStart":return 1}};e.prototype.onNodeCreated=async function(){if("easy loadImagesForLoop"==o&&(this.outputs[0].shape=5),loop_nodes.includes(o)){const e=this.inputs.findIndex((e=>"flow"===e.name)),s=this.outputs.findIndex((e=>"flow"===e.name));-1!==e&&(this.inputs[e].shape=5),-1!==s&&(this.outputs[s].shape=5),this.inputs=this.inputs.filter(((e,i)=>i<=t()||e.widget)),this.outputs=this.outputs.filter(((e,t)=>t<=i())),updateNodeHeight(this)}return index_switch_nodes.includes(o)&&("easy textIndexSwitch"==o&&(this.widgets=this.widgets.filter(((e,t)=>t<=2))),this.inputs=this.inputs.filter(((e,t)=>t<=1||e.widget)),updateNodeHeight(this)),null==n?void 0:n.apply(this,arguments)},e.prototype.onConnectionsChange=function(e,s,a,n){var l,r;if(n)if(1==e){let e=this.inputs.every((e=>null!==e.link||e.widget)),i=this.inputs.filter((e=>!["condition","index","total"].includes(e.name)));if(loop_nodes.includes(o)){if(e){if(i.length>=20)return void toast.warn($t("The maximum number of inputs is 20"));let e=i[i.length-1],t=parseInt(e.name.split("initial_value")[1])+1;if(this.inputs.find((e=>e.name==="initial_value"+t)))return;let s="initial_value"+t,o="value"+t;this.addInput(s,"*"),this.addOutput(o,"*")}else if(!a){const e=t();let i=this.inputs.findLastIndex((e=>e.link));if(s>=e&&(-1===i||s>=i)){let e=this.inputs[s];if(!e.name||["condition","total"].includes(e.name))return;let t=parseInt(e.name.split("initial_value")[1])+1,i=this.inputs.findIndex((e=>e.name==="initial_value"+t)),o=this.outputs.findIndex((e=>e.name==="value"+t));-1!==i&&this.removeInput(i),-1!==o&&this.removeOutput(o)}}}else if(index_switch_nodes.includes(o))if(e){if(i.length>=20)return void toast.warn($t("The maximum number of inputs is 20"));let e=value_names[o]+i.length;this.addInput(e,"*")}else a||s==this.inputs.length-2&&this.removeInput(s+1)}else if(2==e){let e=this.outputs.filter((e=>!["flow","index"].includes(e.name))),t=e.every((e=>{var t;return(null==(t=e.links)?void 0:t.length)>0}));if(loop_nodes.includes(o)){if(t){if(e.length>=20)return void toast.warn($t("The maximum number of outputs is 20"));let t=e[e.length-1],i=parseInt(t.name.split("value")[1])+1;if(this.inputs.find((e=>e.name==="initial_value"+i)))return;if(this.outputs.find((e=>e.name==="value"+i)))return;let s="initial_value"+i,o="value"+i;this.addInput(s,"*"),this.addOutput(o,"*")}else if(!a){const e=i();let t=n.origin_slot,s=this.outputs.findLastIndex((e=>{var t;return(null==(t=e.links)?void 0:t.length)>0}));if(t>=e&&(-1===s||t>=s)){let e=this.outputs[t];if(!e.name||["flow","index"].includes(e.name))return;let i=parseInt(e.name.split("value")[1])+1,s=this.inputs.findIndex((e=>e.name==="initial_value"+i)),o=this.outputs.findIndex((e=>e.name==="value"+i));if(-1!==s&&(null==(l=this.inputs[s])?void 0:l.link))return;-1!==s&&this.removeInput(s),-1!==o&&this.removeOutput(o)}}}else if(inverse_switch_nodes.includes(o))if(t){if(e.length>=20)return void toast.warn($t("The maximum number of outputs is 20"));let t=value_names[o]+e.length;this.addOutput(t,"*")}else if(!a){let t=n.origin_slot;t==this.outputs.length-2&&0==(null==(r=e[t].links)?void 0:r.length)&&this.removeOutput(t+1)}}}}if(["easy fluxLoader","easy fullLoader"].includes(o)&&(e.prototype.onConnectionsChange=async function(e,t){d&&d.apply(this,[]);const i=this.inputs.find((e=>"model_override"===e.name)),s=this.inputs.find((e=>"vae_override"===e.name));let o=getWidgetByName(this,"ckpt_name"),a=getWidgetByName(this,"vae_name");if((null==i?void 0:i.link)&&0==t){const e=(null==o?void 0:o.options.values)||[];setTimeout((t=>{this.widgets[0].value=(null==e?void 0:e[0])||"None",toggleWidget(this,o,!(null==i?void 0:i.link))}),1)}else toggleWidget(this,o,!(null==i?void 0:i.link));if(!(null==s?void 0:s.link)||1!=t&&2!=t)toggleWidget(this,a,!(null==s?void 0:s.link));else{let e=this.widgets.findIndex((e=>"vae_name"==e.name));setTimeout((t=>{this.widgets[e].value="Baked VAE",toggleWidget(this,a,!(null==s?void 0:s.link))}),1)}}),samplers_nodes.includes(o)||-1!==o.indexOf("workflow")){const i=(null==(s=null==t?void 0:t.input)?void 0:s.required)||{};if(!i.image_output&&!i["图像输出"]&&!i["视频输出"])return;e.prototype.onDrawBackground=function(e){try{unsafeDrawBackground(this,e)}catch(t){}}}},nodeCreated(e){if(e.comfyClass.startsWith("easy ")){if(e.widgets)for(const i of e.widgets){if(!allow_widgets.includes(i.name))continue;let t=i.value;toggleLogic(e,i),Object.defineProperty(i,"value",{get:e=>t,set(s){s!==t&&(t=s,requestAnimationFrame((t=>{toggleLogic(e,i)})))}})}const t=e.comfyClass;if("easy preDetailerFix"==t){const t=e.widgets.find((e=>"customtext"===e.type));if(!t)return;t.dynamicPrompts=!1,t.inputEl.placeholder="wildcard spec: if kept empty, this option will be ignored",t.serializeValue=()=>t.value}if(["easy wildcards","easy wildcardsMatrix"].includes(t)){const t=e.widgets.find((e=>"text"==e.name));let i=1;Object.defineProperty(e.widgets[i],"value",{set:e=>{if("Select the LoRA to add to the text"!=e){let i=e;i.endsWith(".safetensors")&&(i=i.slice(0,-12)),t.value+=``}},get:e=>"Select the LoRA to add to the text"}),Object.defineProperty(e.widgets[i+1],"value",{set:e=>{"Select the Wildcard to add to the text"!=e&&(""!=t.value&&(t.value+=", "),t.value+=e)},get:e=>"Select the Wildcard to add to the text"}),e.widgets[i].serializeValue=e=>"Select the LoRA to add to the text",e.widgets[i+1].serializeValue=e=>"Select the Wildcard to add to the text"}if("easy prompt"==t){const t=e.widgets.find((e=>"text"==e.name));let i=1;Object.defineProperty(e.widgets[i],"value",{set:s=>{var o,a;"Select the prefix to add to the text"!=s&&(null==(a=null==(o=e.widgets[i])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=" "+s)},get:e=>"Select the prefix to add to the text"}),Object.defineProperty(e.widgets[i+1],"value",{set:s=>{var o,a;"👤Select the subject add to the text"!=s&&(null==(a=null==(o=e.widgets[i+1])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=" "+s)},get:e=>"👤Select the subject add to the text"}),Object.defineProperty(e.widgets[i+2],"value",{set:s=>{var o,a;"🎬Select the action add to the text"!=s&&(null==(a=null==(o=e.widgets[i+2])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"🎬Select the action add to the text"}),Object.defineProperty(e.widgets[i+3],"value",{set:s=>{var o,a;"👚Select the clothes add to the text"!=s&&(null==(a=null==(o=e.widgets[i+3])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"👚Select the clothes add to the text"}),Object.defineProperty(e.widgets[i+4],"value",{set:s=>{var o,a;"☀️Select the illumination environment add to the text"!=s&&(null==(a=null==(o=e.widgets[i+4])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"☀️Select the illumination environment add to the text"}),Object.defineProperty(e.widgets[i+5],"value",{set:s=>{var o,a;"🎞️Select the background add to the text"!=s&&(null==(a=null==(o=e.widgets[i+5])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=" "+s)},get:e=>"🎞️Select the background add to the text"}),Object.defineProperty(e.widgets[i+6],"value",{set:s=>{var o,a;"🔞Select the nsfw add to the text"!=s&&(null==(a=null==(o=e.widgets[i+6])?void 0:o.options)?void 0:a.values.includes(s))&&(""==t.value?t.value+=s:t.value+=","+s)},get:e=>"🔞Select the nsfw add to the text"}),e.widgets[i].serializeValue=e=>"Select the prefix add to the text",e.widgets[i+1].serializeValue=e=>"👤Select the subject add to the text",e.widgets[i+2].serializeValue=e=>"🎬Select the action add to the text",e.widgets[i+3].serializeValue=e=>"👚Select the clothes add to the text",e.widgets[i+4].serializeValue=e=>"☀️Select the illumination environment add to the text",e.widgets[i+5].serializeValue=e=>"🎞️Select the background add to the text",e.widgets[i+6].serializeValue=e=>"🔞Select the nsfw add to the text"}if(image_dynamic_nodes.includes(t)){const t=document.createElement("textarea");t.className="comfy-multiline-input",t.readOnly=!0;const i=e.addDOMWidget("info","customtext",t,{getValue:e=>t.value,setValue:e=>t.value=e,serialize:!1});i.inputEl=t,t.addEventListener("input",(()=>{var e;null==(e=i.callback)||e.call(i,i.value)}))}}}});const LGraphNode$1=LiteGraph.LGraphNode;app$1.registerExtension({name:"easy bookmark",registerCustomNodes(){class e extends LGraphNode$1{constructor(){super("🔖"),__publicField(this,"type","easy bookmark"),__publicField(this,"title","🔖"),__publicField(this,"slot_start_y",-20),__publicField(this,"___collapsed_width",0),__publicField(this,"isVirtualNode",!0),__publicField(this,"serialize_widgets",!0),__publicField(this,"keypressBound",null),this.addWidget("text","shortcut_key","1",(e=>{""!==(e=e.trim()[0]||"1")&&(this.title="🔖 "+e)}),{y:8}),this.addWidget("number","zoom",1,(e=>{}),{y:8+LiteGraph.NODE_WIDGET_HEIGHT+4,max:2,min:.5,precision:2}),this.keypressBound=this.onKeypress.bind(this)}get _collapsed_width(){return this.___collapsed_width}set _collapsed_width(e){const t=app$1.canvas,i=t.canvas.getContext("2d");if(i){const e=i.font;i.font=t.title_text_font,this.___collapsed_width=40+i.measureText(this.title).width,i.font=e}}onAdded(){setTimeout((e=>{const t=this.widgets[0].value;t&&(this.title="🔖 "+t)}),1),window.addEventListener("keydown",this.keypressBound)}onRemoved(){window.removeEventListener("keydown",this.keypressBound)}onKeypress(e){const t=e.target;["input","textarea"].includes(t.localName)||this.widgets[0]&&e.key.toLocaleLowerCase()===this.widgets[0].value.toLocaleLowerCase()&&this.canvasToBookmark()}canvasToBookmark(){var e,t;const i=app$1.canvas;(null==(e=null==i?void 0:i.ds)?void 0:e.offset)&&(i.ds.offset[0]=16-this.pos[0],i.ds.offset[1]=40-this.pos[1]),null!=(null==(t=null==i?void 0:i.ds)?void 0:t.scale)&&(i.ds.scale=Number(this.widgets[1].value||1)),i.setDirty(!0,!0)}}LiteGraph.registerNodeType("easy bookmark",Object.assign(e,{title:"Bookmark 🔖"})),e.category="EasyUse/Util"}}),app$1.registerExtension({name:"Comfy.EasyUse.ChainNode",init(){app$1.canvas._mousemove_callback=e=>{getSetting("EasyUse.Nodes.ChainGetSet",null)&&chainNode()};const e=LGraphCanvas.prototype.showLinkMenu;LGraphCanvas.prototype.showLinkMenu=useTryCatchCallback(e,(function(t,i){return i.shiftKey?(convertLinkToGetSetNode(t),!1):(e.apply(this,[t,i]),!1)}))}});const cleanVRAM=async()=>{try{const{Running:e,Pending:t}=await api.getQueue();if(e.length>0||t.length>0)return void toast.error($t("Clean Failed")+":"+$t("Please stop all running tasks before cleaning GPU"));200==(await api.fetchApi("/easyuse/cleangpu",{method:"POST"})).status?toast.success($t("Clean SuccessFully")):toast.error($t("Clean Failed"))}catch(e){}},reboot=async()=>{if(confirm($t("Are you sure you'd like to reboot the server?")))try{api.fetchApi("/easyuse/reboot")}catch(e){}};let modelsList={},isPyssssNode=!1;function serializeParentNodeMenu(e){let t=[],i=[];return e.forEach((e=>{(null==e?void 0:e.value)&&COMFYUI_NODE_BASIC_CATEGORY.includes(e.value.split("/")[0])?t.push(e):i.push(e)})),[{title:$t("ComfyUI Basic"),is_category_title:!0},...t,{title:$t("Others A~Z"),is_category_title:!0},...i.sort(((e,t)=>e.content.localeCompare(t.content)))]}function onMenuAdd(e,t,i,s,o){var a=LGraphCanvas.active_canvas,n=a.getCanvasWindow(),l=a.graph;if(l)return function e(t,s){var r=LiteGraph.getNodeTypesCategories(a.filter||l.filter).filter((function(e){return e.startsWith(t)})),d=[];r.map((function(i){if(i){var s=new RegExp("^("+t+")"),o=i.replace(s,"").split("/")[0],a=""===t?o+"/":t+o+"/",n=o;-1!=n.indexOf("::")&&(n=n.split("::")[1]),-1===d.findIndex((function(e){return e.value===a}))&&d.push({value:a,content:n,has_submenu:!0,callback:function(t,i,s,o){e(t.value,o)}})}})),LiteGraph.getNodeTypesInCategory(t.slice(0,-1),a.filter||l.filter).map((function(e){if(!e.skip_list){var t={value:e.type,content:e.title,has_submenu:!1,callback:function(e,t,i,s){var n=s.getFirstEvent();a.graph.beforeChange();var l=LiteGraph.createNode(e.value);l&&(l.pos=a.convertEventToCanvasOffset(n),a.graph.add(l)),o&&o(l),a.graph.afterChange()}};d.push(t)}}));const c=getSetting("EasyUse.ContextMenu.NodesSort",null);""===t&&c&&(d=serializeParentNodeMenu(d)),new LiteGraph.ContextMenu(d,{event:i,parentMenu:s},n)}("",s),!1}function encodeRFC3986URIComponent(e){try{return encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`))}catch(t){return e}}function contextMenuAddItem(e,t,i){var s=this;i=i||{};var o=document.createElement("div");o.className="litemenu-entry submenu";var a=!1;function n(e){var t=this.value,o=!0;(s.current_submenu&&s.current_submenu.close(e),i.callback)&&(!0===i.callback.call(this,t,i,e,s,i.node)&&(o=!1));if(t){if(t.callback&&!i.ignore_item_callbacks&&!0!==t.disabled)!0===t.callback.call(this,t,i,e,s,i.extra)&&(o=!1);if(t.submenu){if(!t.submenu.options)throw"ContextMenu submenu needs options";new s.constructor(t.submenu.options,{callback:t.submenu.callback,event:e,parentMenu:s,ignore_item_callbacks:t.submenu.ignore_item_callbacks,title:t.submenu.title,extra:t.submenu.extra,autoopen:i.autoopen}),o=!1}}o&&!s.lock&&s.close()}return null===t?o.classList.add("separator"):t.is_category_title?(o.classList.remove("litemenu-entry"),o.classList.remove("submenu"),o.classList.add("litemenu-title"),o.innerHTML=t.title):(o.innerHTML=t&&t.title?t.title:e,o.value=t,t&&(t.disabled&&(a=!0,o.classList.add("disabled")),(t.submenu||t.has_submenu)&&o.classList.add("has_submenu")),"function"==typeof t?(o.dataset.value=e,o.onclick_callback=t):o.dataset.value=t,t.className&&(o.className+=" "+t.className)),o&&(null==t?void 0:t.thumbnail)&&(o.addEventListener("mouseenter",showModelsThumbnail(o,t,this.root),{passive:!0}),o.addEventListener("mouseleave",closeModelsThumbnail(),{passive:!0}),o.addEventListener("click",closeModelsThumbnail(),{passive:!0})),this.root.appendChild(o),a||o.addEventListener("click",n),!a&&i.autoopen&&LiteGraph.pointerListenerAdd(o,"enter",(function(e){var t=this.value;if(!t||!t.has_submenu)return;n.call(this,e)})),o}function getExtensions(e){return null==e?void 0:e.substring(e.lastIndexOf(".")+1)}app$1.registerExtension({name:"Comfy.EasyUse.ContextMenu",async setup(){LGraphCanvas.onMenuAdd=onMenuAdd,getModelsList();const e=LiteGraph.ContextMenu;LiteGraph.ContextMenu=function(t,i){if(!(null==i?void 0:i.callback)||t.some((e=>"string"!=typeof e))){if(i.parentMenu);else if(i.extra);else if(i.scale);else{const e=getSetting("EasyUse.ContextMenu.QuickOptions",null);if(i.hasOwnProperty("extra")&&"Disable"!==e){if("At the forefront"==e?t.unshift(null):t.push(null),isLocalNetwork(window.location.host)){const i={content:`${$t("Reboot ComfyUI")}`,callback:e=>reboot()};"At the forefront"==e?t.unshift(i):t.push(i)}const i=getSetting("EasyUse.Hotkeys.cleanVRAMUsed",null)?"("+normalize("Shift+r")+")":"",s={content:`${$t("Cleanup Of VRAM Usage")} ${i}`,callback:e=>cleanVRAM()};"At the forefront"==e?t.unshift(s):t.push(s);const o=getSetting("EasyUse.Hotkeys.toggleNodesMap",null)?"("+normalize("Shift+m")+")":"",a={content:`${$t("Nodes Map")} ${o}`,callback:e=>{var t,i,s;const o=(null==(t=app$1.extensionManager)?void 0:t.sidebarTab)||app$1.extensionManager,a=(null==(i=app$1.extensionManager.sidebarTab)?void 0:i.activeSidebarTabId)||(null==(s=app$1.extensionManager)?void 0:s.activeSidebarTab);o.activeSidebarTabId=a==NODES_MAP_ID?null:NODES_MAP_ID}};"At the forefront"==e?t.unshift(a):t.push(a)}}return e.apply(this,[...arguments])}{const s=setComboOptions(t,i);return s?e.call(this,s,i):e.apply(this,[...arguments])}},LiteGraph.ContextMenu.prototype=e.prototype,getSetting("EasyUse.ContextMenu.NodesSort")&&(LiteGraph.ContextMenu.prototype.addItem=contextMenuAddItem),document.getElementById("graph-canvas").addEventListener("mouseenter",(e=>{setTimeout((e=>{const t=document.getElementById("easyuse-model-thumbnail");t&&0!=t.style.opacity&&(t.style.display="none",t.style.opacity=0,t.style.left="0px",t.style.top="0px")}),100)}))},async beforeRegisterNodeDef(e,t,i){const s=e.prototype.onNodeCreated;["CheckpointLoader|pysssss","LoraLoader|pysssss"].includes(t.name)&&(e.prototype.onNodeCreated=async function(){s&&s.apply(this,[]);let e=getWidgetByName(this,"lora_name")||getWidgetByName(this,"ckpt_name");if(e){let t=e.onClick;e.onClick=function(e){return isPyssssNode=!0,setTimeout((e=>{isPyssssNode=!1}),500),t.call(this,e)}}})}});const calculateImagePosition=(e,t,i)=>{const{x:s}=e.getBoundingClientRect();let{top:o,left:a}=t;const{width:n,height:l}=i;s<=n&&(a+=t.width);return t.top<=l||(o=l),{left:a,top:o}},getModelsList=async()=>{["checkpoints","loras","diffusion_models"].map((async e=>{const t=await api.getModels(e);(null==t?void 0:t.length)>0&&t.map((t=>{modelsList[t.name]={folder:e,pathIndex:t.pathIndex}}))}))},showModelsThumbnail=(e,t,i)=>s=>{var o;const a=t=>{setTimeout((s=>{const o=i.getBoundingClientRect();if(!o)return;const a=document.body.getBoundingClientRect();if(!a)return;const{left:n,top:l}=calculateImagePosition(e,o,a),r=document.getElementById("easyuse-model-thumbnail");r.src=t,r.style.left=`${n}px`,r.style.top=`${l}px`,r.style.display="block",r.style.opacity=1,r.onerror=e=>{r.src=NO_PREVIEW_IMAGE}}),10)};if(null==(o=null==modelsList?void 0:modelsList[t.fullName])?void 0:o.img){let e=modelsList[t.fullName].img;a("no_preview_image"==e?NO_PREVIEW_IMAGE:e.src)}else{let e=new Image;e.src=t.thumbnail,e.onload=i=>{modelsList[t.fullName].img=e,a(t.thumbnail)},e.onerror=i=>{e=null,modelsList[t.fullName].img="no_preview_image",a(NO_PREVIEW_IMAGE)}}},closeModelsThumbnail=()=>e=>{const t=document.getElementById("easyuse-model-thumbnail");t&&0!=t.style.opacity&&(t.style.display="none",t.style.opacity=0,t.style.left="0px",t.style.top="0px")};function setComboOptions(e,t){const i=getSetting("EasyUse.ContextMenu.ModelsThumbnails",null),s=getSetting("EasyUse.ContextMenu.SubDirectories",null);if(!i&&!s)return null;if(isPyssssNode)return null;const o=["ckpt","pt","bin","pth","safetensors","gguf"];if((null==e?void 0:e.length)>0){const t=getExtensions(e[e.length-1]);if(!o.includes(t))return null}const a=t.callback,n=[...e];t.callback=null;const l=(e,t)=>{["None","无","無","なし"].includes(e.content)?a("None",t):a(n.find((t=>t.endsWith(e.content)),t))};if(i&&!s)return e.map((e=>{var t,i;let s=null==(t=modelsList[e])?void 0:t.folder,o=null==(i=modelsList[e])?void 0:i.pathIndex;const a=window.location.protocol,n=window.location.host;let r=s?`${`${a}//${n}`}/api/experiment/models/preview/${s}/${o}/${encodeRFC3986URIComponent(e)}`:"";return{folder:s,content:e,fullName:e,title:$el("div.comfyui-easyuse-contextmenu-model",{},[$el("span",{},e)]).outerHTML,thumbnail:r,callback:l}}));const r=e,d={},c=[],u=[];for(const h of r){const e=h.indexOf("/")>-1?"/":"\\",t=h.split(e);if(t.length>1){const i=t.shift();d[i]=d[i]||[],d[i].push({value:t.join(e),fullValue:h})}else"CHOOSE"===h||h.startsWith("DISABLE ")?c.push({value:h,fullValue:h}):u.push({value:h,fullValue:h})}const p=Object.values(d).length,A=[],g=(e,t="",s)=>{var o,a;let n;n=$el("div.comfyui-easyuse-contextmenu-model",{},[$el("span",{},e)]);let r=null==(o=modelsList[s])?void 0:o.folder,d=null==(a=modelsList[s])?void 0:a.pathIndex;const c=window.location.protocol,u=window.location.host;let p=r?`${`${c}//${u}`}/api/experiment/models/preview/${r}/${d}/${encodeRFC3986URIComponent(s)}`:"";return{folder:r,content:e,fullName:s,thumbnail:i?p:null,title:n.outerHTML,callback:l}};if(p>0){const e=(t,i)=>{let s=[],o=[];const a=t.map((({value:e,fullValue:t})=>{const a={},n=e.indexOf("/")>-1?"/":"\\",l=e.split(n);if(l.length>1){const e=l.shift();a[e]=a[e]||[],a[e].push({value:l.join(n),fullValue:t})}if(Object.values(d).length>0){let i=Object.keys(a)[0];i&&a[i]?s.push({key:i,value:a[i][0]}):o.push(g(e,i,t))}return g(e,i,t)}));if(s.length>0){let t={};return s.forEach((e=>{t[e.key]=t[e.key]||[],t[e.key].push(e.value)})),[...Object.entries(t).map((t=>({content:t[0],has_submenu:!0,callback:()=>{},submenu:{options:e(t[1],t[0])}}))),...o]}return a};for(const[t,i]of Object.entries(d))A.push({content:t,has_submenu:!0,callback:()=>{},submenu:{options:e(i,t)}})}return A.push(...u.map((e=>g(e.value,"",e.fullValue)))),c.length>0&&A.push(...c.map((e=>g(e.value,"",e.fullValue)))),A}class MetadataDialog extends ComfyDialog{constructor(){super(),this.element.classList.add("easyuse-model-metadata")}show(e){super.show($el("div",Object.keys(e).map((t=>$el("div",[$el("label",{textContent:t}),$el("span",{textContent:e[t]})])))))}}class ModelInfoDialog extends ComfyDialog{constructor(e){super(),this.name=e,this.element.classList.add("easyuse-model-info")}get customNotes(){return this.metadata["easyuse.notes"]}set customNotes(e){this.metadata["easyuse.notes"]=e}get hash(){return this.metadata["easyuse.sha256"]}async show(e,t){this.type=e;const i=api.fetchApi("/easyuse/metadata/"+encodeURIComponent(`${e}/${t}`));this.info=$el("div",{style:{flex:"auto"}}),this.imgCurrent=0,this.imgList=$el("div.easyuse-preview-list",{style:{display:"none"}}),this.imgWrapper=$el("div.easyuse-preview",[$el("div.easyuse-preview-group",[this.imgList])]),this.main=$el("main",{style:{display:"flex"}},[this.imgWrapper,this.info]),this.content=$el("div.easyuse-model-content",[$el("div.easyuse-model-header",[$el("h2",{textContent:this.name})]),this.main]);const s=$el("div",{textContent:"ℹ️ Loading...",parent:this.content});super.show(this.content),this.metadata=await(await i).json(),this.viewMetadata.style.cursor=this.viewMetadata.style.opacity="",this.viewMetadata.removeAttribute("disabled"),s.remove(),this.addInfo()}createButtons(){const e=super.createButtons();return this.viewMetadata=$el("button",{type:"button",textContent:"View raw metadata",disabled:"disabled",style:{opacity:.5,cursor:"not-allowed"},onclick:e=>{this.metadata&&(new MetadataDialog).show(this.metadata)}}),e.unshift(this.viewMetadata),e}parseNote(){if(!this.customNotes)return[];let e=[];const t=new RegExp("(\\bhttps?:\\/\\/[^\\s]+)","g");let i,s=0;do{let o;i=t.exec(this.customNotes);let a=0;i?(o=i.index,a=i.index+i[0].length):o=this.customNotes.length;let n=this.customNotes.substring(s,o);n&&(n=n.replaceAll("\n","
"),e.push($el("span",{innerHTML:n}))),i&&e.push($el("a",{href:i[0],textContent:i[0],target:"_blank"})),s=a}while(i);return e}addInfoEntry(e,t){return $el("p",{parent:this.info},["string"==typeof e?$el("label",{textContent:e+": "}):e,"string"==typeof t?$el("span",{textContent:t}):t])}async getCivitaiDetails(){const e=await fetch("https://civitai.com/api/v1/model-versions/by-hash/"+this.hash);if(200===e.status)return await e.json();throw 404===e.status?new Error("Model not found"):new Error(`Error loading info (${e.status}) ${e.statusText}`)}addCivitaiInfo(){const e=this.getCivitaiDetails(),t=$el("span",{textContent:"ℹ️ Loading..."});return this.addInfoEntry($el("label",[$el("img",{style:{width:"18px",position:"relative",top:"3px",margin:"0 5px 0 0"},src:"https://civitai.com/favicon.ico"}),$el("span",{textContent:"Civitai: "})]),t),e.then((e=>{var t,i;this.imgWrapper.style.display="block";let s=this.element.querySelector(".easyuse-model-header");s&&s.replaceChildren($el("h2",{textContent:this.name}),$el("div.easyuse-model-header-remark",[$el("h5",{textContent:$t("Updated At:")+formatTime(new Date(e.updatedAt),"yyyy/MM/dd")}),$el("h5",{textContent:$t("Created At:")+formatTime(new Date(e.updatedAt),"yyyy/MM/dd")})]));let o=null,a=this.parseNote.call(this),n=$t("✏️ Edit"),l=$el("div.easyuse-model-detail-textarea",[$el("p",(null==a?void 0:a.length)>0?a:{textContent:$t("No notes")})]);if(a&&0!=a.length?l.classList.remove("empty"):l.classList.add("empty"),this.info.replaceChildren($el("div.easyuse-model-detail",[$el("div.easyuse-model-detail-head.flex-b",[$el("span",$t("Notes")),$el("a",{textContent:n,href:"#",style:{fontSize:"12px",float:"right",color:"var(--warning-color)",textDecoration:"none"},onclick:async e=>{if(e.preventDefault(),o){if(o.value!=this.customNotes){toast.showLoading($t("Saving Notes...")),this.customNotes=o.value;const e=await api.fetchApi("/easyuse/metadata/notes/"+encodeURIComponent(`${this.type}/${this.name}`),{method:"POST",body:this.customNotes});if(toast.hideLoading(),200!==e.status)return toast.error($t("Saving Failed")),void alert(`Error saving notes (${e.status}) ${e.statusText}`);toast.success($t("Saving Succeed")),a=this.parseNote.call(this),l.replaceChildren($el("p",(null==a?void 0:a.length)>0?a:{textContent:$t("No notes")})),o.value?l.classList.remove("empty"):l.classList.add("empty")}else l.replaceChildren($el("p",{textContent:$t("No notes")})),l.classList.add("empty");e.target.textContent=n,o.remove(),o=null}else e.target.textContent="💾 Save",o=$el("textarea",{placeholder:$t("Type your notes here"),style:{width:"100%",minWidth:"200px",minHeight:"50px",height:"100px"},textContent:this.customNotes}),l.replaceChildren(o),o.focus()}})]),l]),$el("div.easyuse-model-detail",[$el("div.easyuse-model-detail-head",{textContent:$t("Details")}),$el("div.easyuse-model-detail-body",[$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Type")}),$el("div.easyuse-model-detail-item-value",{textContent:e.model.type})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("BaseModel")}),$el("div.easyuse-model-detail-item-value",{textContent:e.baseModel})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Download")}),$el("div.easyuse-model-detail-item-value",{textContent:(null==(t=e.stats)?void 0:t.downloadCount)||0})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Trained Words")}),$el("div.easyuse-model-detail-item-value",{textContent:(null==e?void 0:e.trainedWords.join(","))||"-"})]),$el("div.easyuse-model-detail-item",[$el("div.easyuse-model-detail-item-label",{textContent:$t("Source")}),$el("div.easyuse-model-detail-item-value",[$el("label",[$el("img",{style:{width:"14px",position:"relative",top:"3px",margin:"0 5px 0 0"},src:"https://civitai.com/favicon.ico"}),$el("a",{href:"https://civitai.com/models/"+e.modelId,textContent:"View "+e.model.name,target:"_blank"})])])])])])),null==(i=e.images)?void 0:i.length){this.imgCurrent=0,this.isSaving=!1,e.images.map((e=>e.url&&this.imgList.appendChild($el("div.easyuse-preview-slide",[$el("div.easyuse-preview-slide-content",[$el("img",{src:e.url}),$el("div.save",{textContent:"Save as preview",onclick:async()=>{if(this.isSaving)return;this.isSaving=!0,toast.showLoading($t("Saving Preview..."));const t=await(await fetch(e.url)).blob(),i="temp_preview."+new URL(e.url).pathname.split(".")[1],s=new FormData;s.append("image",new File([t],i)),s.append("overwrite","true"),s.append("type","temp");if(200!==(await api.fetchApi("/upload/image",{method:"POST",body:s})).status)return this.isSaving=!1,toast.error($t("Saving Failed")),toast.hideLoading(),void alert(`Error saving preview (${req.status}) ${req.statusText}`);await api.fetchApi("/easyuse/save/"+encodeURIComponent(`${this.type}/${this.name}`),{method:"POST",body:JSON.stringify({filename:i,type:"temp"}),headers:{"content-type":"application/json"}}).then((e=>{toast.success($t("Saving Succeed")),toast.hideLoading()})),this.isSaving=!1,app.refreshComboInNodes()}})])]))));let t=this;this.imgDistance=(-660*this.imgCurrent).toString(),this.imgList.style.display="",this.imgList.style.transform="translate3d("+this.imgDistance+"px, 0px, 0px)",this.slides=this.imgList.querySelectorAll(".easyuse-preview-slide"),this.slideLeftButton=$el("button.left",{parent:this.imgWrapper,style:{display:e.images.length<=2?"none":"block"},innerHTML:'',onclick:()=>{e.images.length<=2||(t.imgList.classList.remove("no-transition"),0==t.imgCurrent?(t.imgCurrent=e.images.length/2-1,this.slides[this.slides.length-1].style.transform="translate3d("+(-660*(this.imgCurrent+1)).toString()+"px, 0px, 0px)",this.slides[this.slides.length-2].style.transform="translate3d("+(-660*(this.imgCurrent+1)).toString()+"px, 0px, 0px)",t.imgList.style.transform="translate3d(660px, 0px, 0px)",setTimeout((e=>{this.slides[this.slides.length-1].style.transform="translate3d(0px, 0px, 0px)",this.slides[this.slides.length-2].style.transform="translate3d(0px, 0px, 0px)",t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)",t.imgList.classList.add("no-transition")}),500)):(t.imgCurrent=t.imgCurrent-1,t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)"))}}),this.slideRightButton=$el("button.right",{parent:this.imgWrapper,style:{display:e.images.length<=2?"none":"block"},innerHTML:'',onclick:()=>{if(!(e.images.length<=2))if(t.imgList.classList.remove("no-transition"),t.imgCurrent>=e.images.length/2-1){t.imgCurrent=0;const i=e.images.length/2;this.slides[0].style.transform="translate3d("+(660*i).toString()+"px, 0px, 0px)",this.slides[1].style.transform="translate3d("+(660*i).toString()+"px, 0px, 0px)",t.imgList.style.transform="translate3d("+(-660*i).toString()+"px, 0px, 0px)",setTimeout((e=>{this.slides[0].style.transform="translate3d(0px, 0px, 0px)",this.slides[1].style.transform="translate3d(0px, 0px, 0px)",t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)",t.imgList.classList.add("no-transition")}),500)}else t.imgCurrent=t.imgCurrent+1,t.imgDistance=(-660*this.imgCurrent).toString(),t.imgList.style.transform="translate3d("+t.imgDistance+"px, 0px, 0px)"}})}return e.description&&$el("div",{parent:this.content,innerHTML:e.description,style:{marginTop:"10px"}}),e})).catch((e=>{this.imgWrapper.style.display="none",t.textContent="⚠️ "+e.message})).finally((e=>{}))}}class CheckpointInfoDialog extends ModelInfoDialog{async addInfo(){await this.addCivitaiInfo()}}const MAX_TAGS=500;class LoraInfoDialog extends ModelInfoDialog{getTagFrequency(){if(!this.metadata.ss_tag_frequency)return[];const e=JSON.parse(this.metadata.ss_tag_frequency),t={};for(const i in e){const s=e[i];for(const e in s)e in t?t[e]+=s[e]:t[e]=s[e]}return Object.entries(t).sort(((e,t)=>t[1]-e[1]))}getResolutions(){let e=[];if(this.metadata.ss_bucket_info){const t=JSON.parse(this.metadata.ss_bucket_info);if(null==t?void 0:t.buckets)for(const{resolution:i,count:s}of Object.values(t.buckets))e.push([s,`${i.join("x")} * ${s}`])}e=e.sort(((e,t)=>t[0]-e[0])).map((e=>e[1]));let t=this.metadata.ss_resolution;if(t){const i=t.split(","),s=i[0].replace("(",""),o=i[1].replace(")","");e.push(`${s.trim()}x${o.trim()} (Base res)`)}else(t=this.metadata["modelspec.resolution"])&&e.push(t+" (Base res");return e.length||e.push("⚠️ Unknown"),e}getTagList(e){return e.map((e=>$el("li.easyuse-model-tag",{dataset:{tag:e[0]},$:e=>{e.onclick=()=>{e.classList.toggle("easyuse-model-tag--selected")}}},[$el("p",{textContent:e[0]}),$el("span",{textContent:e[1]})])))}addTags(){let e,t=this.getTagFrequency();if(null==t?void 0:t.length){const i=t.length;let s;i>MAX_TAGS&&(t=t.slice(0,MAX_TAGS),e=$el("p",[$el("span",{textContent:`⚠️ Only showing first ${MAX_TAGS} tags `}),$el("a",{href:"#",textContent:`Show all ${i}`,onclick:()=>{s.replaceChildren(...this.getTagList(this.getTagFrequency())),e.remove()}})])),s=$el("ol.easyuse-model-tags-list",this.getTagList(t)),this.tags=$el("div",[s])}else this.tags=$el("p",{textContent:"⚠️ No tag frequency metadata found"});this.content.append(this.tags),e&&this.content.append(e)}async addInfo(){const e=this.addCivitaiInfo();this.addTags();const t=await e;t&&$el("div",{parent:this.content,innerHTML:t.description,style:{maxHeight:"250px",overflow:"auto"}})}createButtons(){const e=super.createButtons();function t(e,t){const i=$el("textarea",{parent:document.body,style:{position:"fixed"},textContent:t.map((e=>e.dataset.tag)).join(", ")});i.select();try{document.execCommand("copy"),e.target.dataset.text||(e.target.dataset.text=e.target.textContent),e.target.textContent="Copied "+t.length+" tags",setTimeout((()=>{e.target.textContent=e.target.dataset.text}),1e3)}catch(s){prompt("Copy to clipboard: Ctrl+C, Enter",text)}finally{document.body.removeChild(i)}}return e.unshift($el("button",{type:"button",textContent:"Copy Selected",onclick:e=>{t(e,[...this.tags.querySelectorAll(".easyuse-model-tag--selected")])}}),$el("button",{type:"button",textContent:"Copy All",onclick:e=>{t(e,[...this.tags.querySelectorAll(".easyuse-model-tag")])}})),e}}const swap={pipe:{category:"Easy Pipe",nodes:["easy pipeIn","easy pipeOut","easy pipeEdit","easy pipeEditPrompt","easy pipeBatchIndex"],input:{pipe:"pipe"},output:{pipe:"pipe"},widget:{optional_positive:"optional_positive",optional_negative:"optional_negative"}},loaders:{category:"Easy Loaders",nodes:["easy fullLoader","easy a1111Loader","easy comfyLoader","easy kolorsLoader","easy hunyuanDiTLoader","easy pixArtLoader","easy fluxLoader"],input:{optional_lora_stack:"optional_lora_stack",optional_controlnet_stack:"optional_controlnet_stack",positive:"positive",negative:"negative"},output:{pipe:"pipe",model:"model",vae:"vae",clip:null,positive:null,negative:null,latent:null},widget:{ckpt_name:"ckpt_name",vae_name:"vae_name",clip_skip:"clip_skip",lora_name:"lora_name",resolution:"resolution",empty_latent_width:"empty_latent_width",empty_latent_height:"empty_latent_height",positive:"positive",negative:"negative",batch_size:"batch_size",a1111_prompt_style:"a1111_prompt_style"}},preSampling:{category:"Easy PreSampling",nodes:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG","easy preSamplingNoiseIn","easy preSamplingCustom","easy preSamplingLayerDiffusion","easy fullkSampler"],input:{pipe:"pipe",image_to_latent:"image_to_latent",latent:"latent"},output:{pipe:"pipe"},widget:{steps:"steps",cfg:"cfg",cfg_scale_min:"cfg",sampler_name:"sampler_name",scheduler:"scheduler",denoise:"denoise",seed_num:"seed_num",seed:"seed"}},samplers:{category:"Custom Sampler",nodes:["KSamplerSelect","SamplerEulerAncestral","SamplerEulerAncestralCFG++","SamplerLMS","SamplerDPMPP_3M_SDE","SamplerDPMPP_2M_SDE","SamplerDPMPP_SDE","SamplerDPMAdaptative","SamplerLCMUpscale","SamplerTCD","SamplerTCD EulerA"],output:{SAMPLER:"SAMPLER"}},sigmas:{category:"Custom Sigmas",nodes:["BasicScheduler","KarrasScheduler","ExponentialScheduler","PolyexponentialScheduler","VPScheduler","BetaSamplingScheduler","SDTurboScheduler","SplitSigmas","SplitSigmasDenoise","FlipSigmas","AlignYourStepsScheduler","GITSScheduler"],output:{SIGMAS:"SIGMAS"}},kSampler:{category:"Easy kSampler",nodes:["easy kSampler","easy kSamplerTiled","easy kSamplerCustom","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerLayerDiffusion"],input:{pipe:"pipe",model:"model"},output:{pipe:"pipe",image:"image"},widget:{image_output:"image_output",save_prefix:"save_prefix",link_id:"link_id"}},controlNet:{category:"Easy ControlNet",nodes:["easy controlnetLoader","easy controlnetLoaderADV","easy controlnetLoader++","easy instantIDApply","easy instantIDApplyADV"],input:{pipe:"pipe",image:"image",image_kps:"image_kps",control_net:"control_net",positive:"positive",negative:"negative",mask:"mask"},output:{pipe:"pipe",positive:"positive",negative:"negative"},widget:{control_net_name:"control_net_name",strength:["strength","cn_strength"],scale_soft_weights:["scale_soft_weights","cn_soft_weights"],cn_strength:["strength","cn_strength"],cn_soft_weights:["scale_soft_weights","cn_soft_weights"]}},adapter:{category:"Easy Adapter",nodes:["easy ipadapterApply","easy ipadapterApplyADV","easy ipadapterApplyFaceIDKolors","easy ipadapterStyleComposition","easy ipadapterApplyFromParams","easy pulIDApply","easy pulIDApplyADV"],input:{model:"model",image:"image",image_style:"image",attn_mask:"attn_mask",optional_ipadapter:"optional_ipadapter"},output:{model:"model",tiles:"tiles",masks:"masks",ipadapter:"ipadapter"},widget:{preset:"preset",lora_strength:"lora_strength",provider:"provider",weight:"weight",weight_faceidv2:"weight_faceidv2",start_at:"start_at",end_at:"end_at",cache_mode:"cache_mode",use_tiled:"use_tiled",insightface:"insightface",pulid_file:"pulid_file"}},positive:{category:"Easy Positive",nodes:["easy positive","easy wildcards"],input:{},output:{text:"positive",positive:"text"},widget:{text:"positive",positive:"text"}},loadImage:{category:"Easy LoadImage",nodes:["easy loadImageBase64","LoadImage","LoadImageMask"],input:{pipe:"pipe",image:"image",mask:"mask"},output:{IMAGE:"IMAGE",MASK:"MASK"},widget:{image:"image",base64_data:"base64_data",channel:"channel"}},saveImage:{category:"Save/Preview Image",nodes:["SaveImage","PreviewImage"]},inPaint:{category:"Easy Inpaint",nodes:["easy applyBrushNet","easy applyPowerPaint","easy applyInpaint"],input:{},output:{pipe:"pipe"},widget:{dtype:"dtype",fitting:"fitting",function:"function",scale:"scale",start_at:"start_at",end_at:"end_at"}},showAny:{category:"Show Anything",nodes:["easy showAnything","easy showAnythingLazy"],input:{anything:"anything"},output:{output:"output"}},saveText:{category:"Save Text",nodes:["easy saveText","easy saveTextLazy"],input:{image:"image",text:"text",output_file_path:"output_file_path",file_name:"file_name",file_extension:"file_extension",overwrite:"overwrite"},output:{text:"text",image:"image"},widget:{image:"image",text:"text",output_file_path:"output_file_path",file_name:"file_name",file_extension:"file_extension",overwrite:"overwrite"}},persona:{category:"LLM Party Persona",nodes:["load_persona","classify_persona","classify_persona_plus","custom_persona","translate_persona","flux_persona"],input:{file_content:"file_content"},output:{system_prompt:"system_prompt"},widget:{is_enable:"is_enable"}},llmModelLoader:{category:"LLM Model Loader",nodes:["LLM_api_loader","genai_api_loader","LLM_local_loader"],output:{model:"model"}},llmModelChain:{category:"LLM Model Chain",nodes:["LLM","LLM_local"],input:{model:"model",image:"images",images:"image",extra_parameters:"extra_parameters",system_prompt_input:"system_prompt_input",user_prompt_input:"user_prompt_input",tools:"tools",file_content:"file_content"},output:{assistant_response:"assistant_response",history:"history",tool:"tool",image:"image"},widget:{system_prompt:"system_prompt",user_prompt:"user_prompt",temperature:"temperature",is_memory:"is_memory",is_tools_in_sys_prompt:"is_tools_in_sys_prompt",max_length:"max_length",main_brain:"main_brain",conversation_rounds:"conversation_rounds",history_record:"history_record",is_enable:"is_enable"}},maskModify:{category:"Mask Modify",nodes:["CropMask","ThresholdMask","GrowMask","FeatherMask","LayerMask: MaskGrain","LayerMask: MaskEdgeUltraDetail","LayerMask: MaskEdgeUltraDetail V2"],input:{mask:"mask"},output:{MASK:"MASK",mask:"mask",image:"image"}},maskModifyWAS:{category:"Mask Modify (WAS)",nodes:["Mask Dilate Region","Mask Gaussian Region"],input:{masks:"masks"},output:{MASKS:"MASKS"}},fast_loaders:{category:"Fast Loaders",nodes:["fast ckptLoader","fast unetLoader"],input:{"开始加载":"开始加载"},output:{"模型加载器":"模型加载器",MODEL:"MODEL",VAE:"VAE",CLIP:"CLIP"}},fast_inputs:{category:"Fast Inputs",nodes:["fast sdInput","fast fluxInput","fast hiDreamInput","fast videoInput"],input:{"模型加载器":"模型加载器","更多Controlnet":"更多Controlnet","图像":"图像","遮罩":"遮罩","功能节点":"功能节点"},output:{"采样":"采样","正面条件":"正面条件","负面条件":"负面条件","潜空间":"潜空间"},widget:{Sigmas:"Sigmas","分离Sigmas步数":"分离Sigmas步数","分离降噪":"分离降噪","降噪":"降噪","添加噪声":"添加噪声",seed:"seed","生成数量":"生成数量"}},fast_outputResult:{category:"Fast Outputs",nodes:["fast outputResult","fast outputResultVideo"],input:{"采样":"采样","噪声":"噪声","模型加载器":"模型加载器"},output:{"图像":"图像序列","图像序列":"图像","输出":"输出","降噪输出":"降噪输出",VAE:"VAE"},widget:{"采样预览":"采样预览","VAE解码":"VAE解码","图像输出":"视频输出","视频输出":"图像输出","保存路径":"保存路径"}},fast_loadImage:{category:"Fast LoadImage",nodes:["fast loadImage","fast loadImageList"],output:{"图像":"图像","遮罩":"遮罩","文件名":"文件名"},widget:{"模式":"模式","图像":"图像","路径":"路径","最大张数":"最大张数","开始索引":"开始索引",Base64:"Base64","链接":"链接"}}};function replaceNode(e,t,i){var s;const o=LiteGraph.createNode(t);if(o){if(app$1.graph.add(o),o.pos=e.pos.slice(),o.size=e.size.slice(),(null==(s=e.widgets)?void 0:s.length)>0&&e.widgets.forEach((e=>{var t,s;if(null==(s=null==(t=swap[i])?void 0:t.widget)?void 0:s[e.name]){const t=swap[i].widget[e.name];if(t&&o.widgets){const i=findWidgetByName(o,t);i&&(i.value=e.value,"seed_num"==e.name&&(i.linkedWidgets[0].value=e.linkedWidgets[0].value),"converted-widget"==e.type&&convertToInput(o,i,e))}}})),e.inputs&&e.inputs.forEach(((t,s)=>{var a,n,l;if(t&&t.link&&(null==(n=null==(a=swap[i])?void 0:a.input)?void 0:n[t.name])){const s=null==(l=swap[i])?void 0:l.input[t.name];if(null===s)return;const a=o.findInputSlot(s);if(-1!==a){const i=e.graph.links[t.link];if(i){const t=e.graph.getNodeById(i.origin_id);t&&t.connect(i.origin_slot,o,a)}}}})),e.outputs&&e.outputs.forEach(((t,s)=>{var a,n;if(t&&t.links&&(null==(n=null==(a=swap[i])?void 0:a.output)?void 0:n[t.name])){const s=swap[i].output[t.name];if(null===s)return;const a=o.findOutputSlot(s);-1!==a&&t.links.forEach((t=>{const i=e.graph.links[t];if(i){const t=e.graph.getNodeById(i.target_id);t&&o.connect(a,t,i.target_slot)}}))}})),app$1.graph.remove(e),"easy fullkSampler"==o.type){const e=o.outputs[0].links;if(e&&e[0]){const t=app$1.graph._nodes.find((t=>t.inputs&&t.inputs[0]&&t.inputs[0].link==e[0]));t&&app$1.graph.remove(t)}}else if(swap.preSampling.nodes.includes(o.type)){const e=o.outputs[0].links;if(!e||!e[0]){const e=LiteGraph.createNode("easy kSampler");app$1.graph.add(e),e.pos=o.pos.slice(),e.pos[0]=e.pos[0]+o.size[0]+20;const t=o.findInputSlot("pipe");-1!==t&&o&&o.connect(0,e,t)}}o.setSize([o.size[0],o.computeSize()[1]])}}function findWidgetByName(e,t){return e.widgets.find((e=>"object"==typeof t?t.includes(e.name):e.name===t))}function replaceNodeMenuCallback(e,t,i){return function(){replaceNode(e,t,i)}}const addMenuHandler=(e,t)=>{const i=e.prototype.getExtraMenuOptions;e.prototype.getExtraMenuOptions=function(){const e=i.apply(this,arguments);return t.apply(this,arguments),e}},addMenu=(e,t,i,s,o=!0)=>{addMenuHandler(s,(function(s,a){a.unshift({content:e,has_submenu:o,callback:(e,s,o,a,n)=>showSwapMenu(e,s,o,a,n,t,i)}),"loaders"==t&&(a.unshift({content:$t("💎 View Lora Info..."),callback:(e,t,i,s,o)=>{let a=o.widgets.find((e=>"lora_name"==e.name)).value;a&&"None"!=a&&new LoraInfoDialog(a).show("loras",a)}}),a.unshift({content:$t("💎 View Checkpoint Info..."),callback:(e,t,i,s,o)=>{let a=o.widgets[0].value;a&&"None"!=a&&new CheckpointInfoDialog(a).show("checkpoints",a)}}))}))},showSwapMenu=(e,t,i,s,o,a,n)=>{const l=[];return n.map((e=>{o.type!==e&&l.push({content:`${e}`,callback:replaceNodeMenuCallback(o,e,a)})})),new LiteGraph.ContextMenu(l,{event:i,callback:null,parentMenu:s,node:o}),!1},CONVERTED_TYPE="converted-widget",GET_CONFIG=Symbol();function hideWidget(e,t,i=""){if(t.origType=t.type,t.origComputeSize=t.computeSize,t.origSerializeValue=t.serializeValue,t.computeSize=()=>[0,-4],t.type=CONVERTED_TYPE+i,t.serializeValue=()=>{if(!e.inputs)return;let i=e.inputs.find((e=>{var i;return(null==(i=e.widget)?void 0:i.name)===t.name}));return i&&i.link?t.origSerializeValue?t.origSerializeValue():t.value:void 0},t.linkedWidgets)for(const s of t.linkedWidgets)hideWidget(e,s,":"+t.name)}function convertToInput(e,t,i){hideWidget(e,t);const{type:s}=getWidgetType(i),o=e.size;t.options&&t.options.forceInput||e.addInput(t.name,s,{widget:{name:t.name,[GET_CONFIG]:()=>i}});for(const a of e.widgets)a.last_y+=LiteGraph.NODE_SLOT_HEIGHT;e.setSize([Math.max(o[0],e.size[0]),Math.max(o[1],e.size[1])])}function getWidgetType(e){let t=e[0];return t instanceof Array&&(t="COMBO"),{type:t}}const reloadNode=function(e){var t,i,s,o;const a=e.constructor.type,n=e.properties.origVals||{},l=n.title||e.title,r=n.color||e.color,d=n.bgcolor||e.bgcolor,c=e,u={size:[...e.size],color:r,bgcolor:d,pos:[...e.pos]};let p=[],A=[];if(e.inputs)for(const f of e.inputs)if(f.link){const t=f.name,i=e.findInputSlot(t),s=e.getInputNode(i),o=e.getInputLink(i);p.push([o.origin_slot,s,t])}if(e.outputs)for(const f of e.outputs)if(f.links){const e=f.name;for(const t of f.links){const i=graph.links[t],s=graph._nodes_by_id[i.target_id];A.push([e,s,i.target_slot])}}app$1.graph.remove(e);let g=app$1.graph.add(LiteGraph.createNode(a,l,u));function h(){if(c.widgets)for(let e of c.widgets)if("converted-widget"===e.type){const t=g.widgets.find((t=>t.name===e.name));for(let i of c.inputs)i.name===e.name&&convertToInput(g,t,i.widget)}for(let e of p){const[t,i,s]=e;i.connect(t,g.id,s)}for(let e of A){const[t,i,s]=e;g.connect(t,i,s)}}g.inputs.map(((t,i)=>{g.inputs[i].label=e.inputs[i].label})),g.outputs.map(((t,i)=>{g.outputs[i].label=e.outputs[i].label}));let m=c.widgets_values;if(!m&&(null==(t=g.widgets)?void 0:t.length)>0)return g.widgets.forEach(((e,t)=>{const i=c.widgets[t];e.name===i.name&&e.type===i.type&&(e.value=i.value)})),void h();if(m){let e=function(e,t){var i,s,o,a,n,l;if(!0===e||!1===e){if((null==(i=t.options)?void 0:i.on)&&(null==(s=t.options)?void 0:s.off))return{value:e,pass:!0}}else if("number"==typeof e){if((null==(o=t.options)?void 0:o.min)<=e&&e<=(null==(a=t.options)?void 0:a.max))return{value:e,pass:!0}}else{if(null==(l=null==(n=t.options)?void 0:n.values)?void 0:l.includes(e))return{value:e,pass:!0};if(t.inputEl&&"string"==typeof e)return{value:e,pass:!0}}return{value:t.value,pass:!1}},t=!1;const a=(null==m?void 0:m.length)<=(null==(i=g.widgets)?void 0:i.length);let n=a?0:m.length-1;const l=i=>{var s;const o=c.widgets[i];let l=g.widgets[i];if(l.name===o.name&&l.type===o.type){for(;(a?n=0)&&!t;){let{value:t,pass:i}=e(m[n],l);if(i&&null!==t){l.value=t;break}n+=a?1:-1}n++,a||(n=m.length-((null==(s=g.widgets)?void 0:s.length)-1-i))}};if(a&&(null==(s=g.widgets)?void 0:s.length)>0)for(let i=0;i0)for(let i=g.widgets.length-1;i>=0;i--)l(i)}h()};app$1.registerExtension({name:"Comfy.EasyUse.ExtraMenu",async beforeRegisterNodeDef(e,t,i){addMenuHandler(e,(function(e,i){i.unshift({content:$t("🔃 Reload Node"),callback:(e,t,i,s,o)=>{let a=LGraphCanvas.active_canvas;if(!a.selected_nodes||Object.keys(a.selected_nodes).length<=1)reloadNode(o);else for(let n in a.selected_nodes)reloadNode(a.selected_nodes[n])}}),"easy ckptNames"==t.name&&i.unshift({content:$t("💎 View Checkpoint Info..."),callback:(e,t,i,s,o)=>{o.widgets[0].value}})}));for(const s in swap)swap[s].nodes.includes(t.name)&&addMenu(`↪️ Swap ${swap[s].category}`,s,swap[s].nodes,e)}});const LGraphNode=LiteGraph.LGraphNode,setIcon="➡️",getIcon="⬅️";function globalSeedHandler(e){let t=app.graph._nodes_by_id;for(let i in t){let s=t[i];if("easy globalSeed"==s.type){if(s.widgets){const t=s.widgets.find((e=>"value"==e.name));s.widgets.find((e=>"last_seed"==e.name)).value=t.value,t.value=e.detail.value}}else if(s.widgets){const t=s.widgets.find((e=>"seed_num"==e.name||"seed"==e.name||"noise_seed"==e.name));t&&null!=e.detail.seed_map[s.id]&&(t.value=e.detail.seed_map[s.id])}}}app$1.registerExtension({name:"easy setNode",registerCustomNodes(){class e extends LGraphNode{constructor(t){super("Set"),__publicField(this,"defaultVisibility",!0),__publicField(this,"serialize_widgets",!0),this.properties||(this.properties={previousName:""}),this.properties.showOutputText=e.defaultVisibility;const i=this;i.color=LGraphCanvas.node_colors.blue.color,this.addWidget("text","Constant","",((e,t,s,o,a)=>{i.validateName(i.graph),""!==this.widgets[0].value&&(this.title=setIcon+this.widgets[0].value),this.properties.previousName=this.widgets[0].value,this.update()}),{}),this.addInput("*","*"),this.onConnectionsChange=function(e,t,s,o,a){if(1!=e||s||(this.inputs[t].type="*",this.inputs[t].name="*",this.title="Set"),o&&i.graph&&1==e&&s){const e=i.graph._nodes.find((e=>e.id==o.origin_id)).outputs[o.origin_slot];if(!e)return;const t=e.type,s=i.is_auto_link?this.widgets[0].value:e.name;"Set"===this.title&&(this.title=setIcon+s,this.widgets[0].value=s),"*"===this.widgets[0].value&&(this.widgets[0].value=s),this.validateName(i.graph),this.inputs[0]&&(this.inputs[0].type=t,this.inputs[0].name=s),setTimeout((e=>{this.title=setIcon+this.widgets[0].value,this.properties.previousName=this.widgets[0].value}),1)}this.update()},this.validateName=function(e){let t=i.widgets[0].value;if(""!=t){let s=0,o=[];do{o=e._nodes.filter((e=>e!=this&&("easy setNode"==e.type&&e.widgets[0].value===t))),o.length>0&&(t=i.widgets[0].value+s),s++}while(o.length>0);i.widgets[0].value=t,this.update()}},this.clone=function(){const t=e.prototype.clone.apply(this);return t.inputs[0].name="*",t.inputs[0].type="*",t.properties.previousName="",t.size=t.computeSize(),t},this.onAdded=function(e){this.validateName(e)},this.update=function(){if(i.graph){this.findGetters(i.graph).forEach((e=>{e.setType(this.inputs[0].type)})),this.widgets[0].value&&this.findGetters(i.graph,!0).forEach((e=>{e.setName(this.widgets[0].value)}));i.graph._nodes.filter((e=>"easy getNode"==e.type)).forEach((e=>{e.setComboValues&&e.setComboValues()}))}},this.findGetters=function(e,t){const i=t?this.properties.previousName:this.widgets[0].value;return e._nodes.filter((e=>"easy getNode"==e.type&&e.widgets[0].value===i&&""!=i))},this.isVirtualNode=!0}onRemoved(){this.graph._nodes.filter((e=>"easy getNode"==e.type)).forEach((e=>{e.setComboValues&&e.setComboValues([this])}))}}LiteGraph.registerNodeType("easy setNode",Object.assign(e,{title:"Set"})),e.category="EasyUse/Util"}}),app$1.registerExtension({name:"easy getNode",registerCustomNodes(){class e extends LGraphNode{constructor(t){super("Get"),__publicField(this,"defaultVisibility",!0),__publicField(this,"serialize_widgets",!0),this.properties||(this.properties={}),this.properties.showOutputText=e.defaultVisibility;const i=this;i.color=LGraphCanvas.node_colors.blue.color,this.addWidget("combo","Constant","",(e=>{this.onRename()}),{values:()=>i.graph._nodes.filter((e=>"easy setNode"==e.type)).map((e=>e.widgets[0].value)).sort()}),this.addOutput("*","*"),this.onConnectionsChange=function(e,t,i,s,o){this.validateLinks(),2!=e||i?(this.onRename(),setTimeout((e=>{this.title=getIcon+this.widgets[0].value}),1)):(this.outputs[t].type="*",this.outputs[t].name="*",this.title="Get")},this.setName=function(e){i.widgets[0].value=e,i.onRename(),i.serialize()},this.onRename=function(e=0){const t=this.findSetter(i.graph);if(t){const i=t.inputs[0].type,s=t.inputs[0].name;this.setType(i,s),this.outputs[e].type=i,this.outputs[e].name=s,this.title=getIcon+t.widgets[0].value}else this.setType("*","*"),this.outputs[e].type="*",this.outputs[e].name="*"},this.clone=function(){const t=e.prototype.clone.apply(this);return t.size=t.computeSize(),t},this.validateLinks=function(){"*"!=this.outputs[0].type&&this.outputs[0].links&&this.outputs[0].links.forEach((e=>{const t=i.graph.links[e];t&&t.type!=this.outputs[0].type&&"*"!=t.type&&i.graph.removeLink(e)}))},this.setType=function(e,t){this.outputs[0].name=t,this.outputs[0].type=e,this.validateLinks()},this.findSetter=function(e){const t=this.widgets[0].value;return e._nodes.find((e=>"easy setNode"==e.type&&e.widgets[0].value===t&&""!=t))},this.isVirtualNode=!0}getInputLink(e){const t=this.findSetter(this.graph);if(t){const i=t.inputs[e];return this.graph.links[i.link]}throw new Error("No setter found for "+this.widgets[0].value+"("+this.type+")")}onAdded(e){}}LiteGraph.registerNodeType("easy getNode",Object.assign(e,{title:"Get"})),e.category="EasyUse/Util"}}),api.addEventListener("easyuse-global-seed",globalSeedHandler);const original_queuePrompt=api.queuePrompt;async function queuePrompt_with_seed(e,{output:t,workflow:i}){i.seed_widgets={};for(let s in app.graph._nodes_by_id){let e=app.graph._nodes_by_id[s].widgets;if(e)for(let t in e)"seed_num"!=e[t].name&&"seed"!=e[t].name&&"noise_seed"!=e[t].name||"converted-widget"==e[t].type||(i.seed_widgets[s]=parseInt(t))}return await original_queuePrompt.call(api,e,{output:t,workflow:i})}api.queuePrompt=queuePrompt_with_seed;const extraNodes$1=["easy imageSave","easy fullkSampler","easy kSampler","easy kSamplerTiled","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerSDTurbo","easy detailerFix"];app$1.registerExtension({name:"Comfy.EasyUse.SaveImageExtraOutput",async beforeRegisterNodeDef(e,t,i){if(extraNodes$1.includes(t.name)){const t=e.prototype.onNodeCreated;e.prototype.onNodeCreated=function(){const e=t?t.apply(this,arguments):void 0,s=this.widgets.find((e=>"filename_prefix"===e.name||"save_prefix"===e.name));return s.serializeValue=()=>applyTextReplacements(i,s.value),e}}else{const t=e.prototype.onNodeCreated;e.prototype.onNodeCreated=function(){const e=t?t.apply(this,arguments):void 0;return this.properties&&"Node name for S&R"in this.properties||this.addProperty("Node name for S&R",this.constructor.type,"string"),e}}}});const propmts=["easy wildcards","easy positive","easy negative","easy stylesSelector","easy promptConcat","easy promptReplace"],preSamplingNodes=["easy preSampling","easy preSamplingAdvanced","easy preSamplingNoiseIn","easy preSamplingCustom","easy preSamplingDynamicCFG","easy preSamplingSdTurbo","easy preSamplingLayerDiffusion"],kSampler$1=["easy kSampler","easy kSamplerTiled","easy kSamplerInpainting","easy kSamplerDownscaleUnet","easy kSamplerSDTurbo"],controlNetNodes=["easy controlnetLoader","easy controlnetLoaderADV"],instantIDNodes=["easy instantIDApply","easy instantIDApplyADV"],ipadapterNodes=["easy ipadapterApply","easy ipadapterApplyADV","easy ipadapterApplyFaceIDKolors","easy ipadapterStyleComposition"],pipeNodes=["easy pipeIn","easy pipeOut","easy pipeEdit","easy pipeEditPrompt"],xyNodes=["easy XYPlot","easy XYPlotAdvanced"],extraNodes=["easy setNode"],modelNormalNodes=["RescaleCFG","LoraLoaderModelOnly","LoraLoader","FreeU","FreeU_v2",...ipadapterNodes,...extraNodes],suggestions={"easy seed":{from:{INT:[...preSamplingNodes,"easy fullkSampler"]}},"easy positive":{from:{STRING:[...propmts]}},"easy negative":{from:{STRING:[...propmts]}},"easy wildcards":{from:{STRING:["easy showAnything",...propmts]}},"easy stylesSelector":{from:{STRING:["easy showAnything",...propmts]}},"easy promptConcat":{from:{STRING:["easy showAnything",...propmts]}},"easy promptReplace":{from:{STRING:["easy showAnything",...propmts]}},"easy fullLoader":{from:{PIPE_LINE:[...preSamplingNodes,"easy fullkSampler",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy a1111Loader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy comfyLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy hunyuanDiTLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy kolorsLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy pixArtLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy fluxLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy svdLoader":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy zero123Loader":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy sv3dLoader":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced","easy preSamplingDynamicCFG",...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{STRING:[...propmts]}},"easy preSampling":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingAdvanced":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingDynamicCFG":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingCustom":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingLayerDiffusion":{from:{PIPE_LINE:["easy kSamplerLayerDiffusion",...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy preSamplingNoiseIn":{from:{PIPE_LINE:[...kSampler$1,...pipeNodes,...controlNetNodes,...xyNodes,...extraNodes]}},"easy fullkSampler":{from:{PIPE_LINE:[...pipeNodes.reverse(),"easy preDetailerFix","easy preMaskDetailerFix",...preSamplingNodes,...extraNodes]}},"easy kSampler":{from:{PIPE_LINE:[...pipeNodes.reverse(),"easy preDetailerFix","easy preMaskDetailerFix","easy hiresFix",...preSamplingNodes,...extraNodes]}},"easy controlnetLoader":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}},"easy controlnetLoaderADV":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}},"easy instantIDApply":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{COMBO:["easy promptLine"]}},"easy instantIDApplyADV":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes},to:{COMBO:["easy promptLine"]}},"easy ipadapterApply":{to:{COMBO:["easy promptLine"]}},"easy ipadapterApplyADV":{to:{STRING:["easy sliderControl",...propmts],COMBO:["easy promptLine"]}},"easy ipadapterStyleComposition":{to:{COMBO:["easy promptLine"]}},"easy preDetailerFix":{from:{PIPE_LINE:["easy detailerFix",...pipeNodes,...extraNodes]},to:{PIPE_LINE:["easy ultralyticsDetectorPipe","easy samLoaderPipe","easy kSampler","easy fullkSampler"]}},"easy preMaskDetailerFix":{from:{PIPE_LINE:["easy detailerFix",...pipeNodes,...extraNodes]}},"easy samLoaderPipe":{from:{PIPE_LINE:["easy preDetailerFix",...pipeNodes,...extraNodes]}},"easy ultralyticsDetectorPipe":{from:{PIPE_LINE:["easy preDetailerFix",...pipeNodes,...extraNodes]}},"easy cascadeLoader":{from:{PIPE_LINE:["easy fullCascadeKSampler","easy preSamplingCascade",...controlNetNodes,...pipeNodes,...extraNodes],MODEL:modelNormalNodes.filter((e=>!ipadapterNodes.includes(e)))}},"easy fullCascadeKSampler":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced",...pipeNodes,...extraNodes]}},"easy preSamplingCascade":{from:{PIPE_LINE:["easy cascadeKSampler",...pipeNodes,...extraNodes]}},"easy cascadeKSampler":{from:{PIPE_LINE:["easy preSampling","easy preSamplingAdvanced",...pipeNodes,...extraNodes]}},"easy pipeEdit":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...extraNodes]},to:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}},"easy pipeEditPrompt":{from:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...extraNodes]},to:{PIPE_LINE:[...preSamplingNodes,...controlNetNodes,...instantIDNodes,...pipeNodes,...extraNodes]}}};class NullGraphError extends Error{constructor(e="Attempted to access LGraph reference that was null or undefined.",t){super(e,{cause:t}),this.name="NullGraphError"}}function drawTime(e,t){t&&(t=parseFloat(t).toFixed(3)+$t("s"),e.save(),e.fillStyle=LiteGraph.NODE_DEFAULT_BGCOLOR,drawRoundedRect(e,0,-LiteGraph.NODE_TITLE_HEIGHT-20,e.measureText(t).width+10,LiteGraph.NODE_TITLE_HEIGHT-10,4),e.fill(),drawText(e,t,8,-LiteGraph.NODE_TITLE_HEIGHT-6,LiteGraph.NODE_TITLE_COLOR),e.restore())}app$1.registerExtension({name:"Comfy.EasyUse.Suggestions",async setup(e){const t=LGraphCanvas.prototype.createDefaultNodeForSlot;LGraphCanvas.prototype.createDefaultNodeForSlot=function(e){var i;const s=Object.assign({nodeFrom:null,slotFrom:null,nodeTo:null,slotTo:null,position:[],nodeType:null,posAdd:[0,0],posSizeFix:[0,0]},e||{}),o=this,a=s.nodeFrom&&null!==s.slotFrom,n=!a&&s.nodeTo&&null!==s.slotTo,l=a?s.nodeFrom:s.nodeTo;if(!l||!Object.keys(suggestions).includes(l.type))return t.call(this,e);if(!a&&!n)return!1;if(!s.nodeType)return!1;const r=a?s.nodeFrom:s.nodeTo;if(!r)throw new TypeError("nodeX was null when creating default node for slot.");const d=r.type;let c=a?s.slotFrom:s.slotTo,u=!1;switch(typeof c){case"string":u=a?r.findOutputSlot(c,!1):r.findInputSlot(c,!1),c=a?r.outputs[c]:r.inputs[c];break;case"object":if(null===c)return!1;u=a?r.findOutputSlot(c.name):r.findInputSlot(c.name);break;case"number":u=c,c=a?r.outputs[c]:r.inputs[c];break;default:return!1}var p=c.type==LiteGraph.EVENT?"_event_":c.type,A=a?LiteGraph.slot_types_default_out:LiteGraph.slot_types_default_in;if(null==A?void 0:A[p]){let e=!1;const t=a?"from":"to";if(suggestions[d]&&suggestions[d][t]&&(null==(i=suggestions[d][t][p])?void 0:i.length)>0){for(var g in suggestions[d][t][p])if(s.nodeType==suggestions[d][t][p][g]||"AUTO"==s.nodeType){e=suggestions[d][t][p][g];break}}else if("object"==typeof A[p]||"array"==typeof A[p]){for(var g in A[p])if(s.nodeType==A[p][g]||"AUTO"==s.nodeType){e=A[p][g];break}}else s.nodeType!=A[p]&&"AUTO"!=s.nodeType||(e=A[p]);if(e){var h=!1;"object"==typeof e&&e.node&&(h=e,e=e.node);var m=LiteGraph.createNode(e);if(m){if(h){if(h.properties)for(var f in h.properties)m.addProperty(f,h.properties[f]);if(h.inputs)for(var f in m.inputs=[],h.inputs)m.addOutput(h.inputs[f][0],h.inputs[f][1]);if(h.outputs)for(var f in m.outputs=[],h.outputs)m.addOutput(h.outputs[f][0],h.outputs[f][1]);h.title&&(m.title=h.title),h.json&&m.configure(h.json)}o.graph.add(m),m.pos=[s.position[0]+s.posAdd[0]+(s.posSizeFix[0]?s.posSizeFix[0]*m.size[0]:0),s.position[1]+s.posAdd[1]+(s.posSizeFix[1]?s.posSizeFix[1]*m.size[1]:0)];const e={node:m,opts:s};if(!this.canvas.dispatchEvent(new CustomEvent("connect-new-default-node",{detail:e,cancelable:!0})))return!0;if(a){if(!s.nodeFrom)throw new TypeError("createDefaultNodeForSlot - nodeFrom was null");s.nodeFrom.connectByType(u,m,p)}else{if(!s.nodeTo)throw new TypeError("createDefaultNodeForSlot - nodeTo was null");s.nodeTo.connectByTypeOutput(u,m,p)}return!0}}}return!1};let i=LGraphCanvas.prototype.showConnectionMenu;LGraphCanvas.prototype.showConnectionMenu=function(e){var t;const s=Object.assign({nodeFrom:null,slotFrom:null,nodeTo:null,slotTo:null,e:void 0,allow_searchbox:this.allow_searchbox,showSearchBox:this.showSearchBox},e||{}),o=this,{graph:a}=this,{afterRerouteId:n}=s,l=s.nodeFrom&&s.slotFrom,r=!l&&s.nodeTo&&s.slotTo,d=l?s.nodeFrom:s.nodeTo;if(!d||!Object.keys(suggestions).includes(d.type))return i.call(this,e);if(!l&&!r)return!1;const c=l?s.nodeFrom:s.nodeTo;if(!c)throw new TypeError("nodeX was null when creating default node for slot.");let u=l?s.slotFrom:s.slotTo,p=!1;switch(typeof u){case"string":p=l?c.findOutputSlot(u,!1):c.findInputSlot(u,!1),u=l?c.outputs[u]:c.inputs[u];break;case"object":if(null===u)return;p=l?c.findOutputSlot(u.name):c.findInputSlot(u.name);break;case"number":p=u,u=l?c.outputs[u]:c.inputs[u];break;default:return!1}const A=["Add Node","Add Reroute",null];s.allow_searchbox&&A.push("Search",null);var g=u.type==LiteGraph.EVENT?"_event_":u.type,h=l?LiteGraph.slot_types_default_out:LiteGraph.slot_types_default_in,m=c.type;if(h&&h[g]){const e=l?"from":"to";if(suggestions[m]&&suggestions[m][e]&&(null==(t=suggestions[m][e][g])?void 0:t.length)>0)for(var f in suggestions[m][e][g])A.push(suggestions[m][e][g][f]);else if("object"==typeof h[g]||"array"==typeof h[g])for(var f in h[g])A.push(h[g][f]);else A.push(h[g])}var y=new LiteGraph.ContextMenu(A,{event:s.e,extra:u,title:(u&&""!=u.name?u.name+(g?" | ":""):"")+(u&&g?g:""),callback:function(e,t,i){var r,d;switch(e){case"Add Node":LGraphCanvas.onMenuAdd(null,null,i,y,(function(e){var t,i;e&&(l?null==(t=s.nodeFrom)||t.connectByType(p,e,g,{afterRerouteId:n}):null==(i=s.nodeTo)||i.connectByTypeOutput(p,e,g,{afterRerouteId:n}))}));break;case"Add Reroute":const c=l?s.nodeFrom:s.nodeTo,A=t.extra;if(!a)throw new NullGraphError;if(!c)throw new TypeError("Cannot add reroute: node was null");if(!A)throw new TypeError("Cannot add reroute: slot was null");if(!s.e)throw new TypeError("Cannot add reroute: CanvasPointerEvent was null");if(!c.connectFloatingReroute([s.e.canvasX,s.e.canvasY],A,n))throw new Error("Failed to create reroute");o.dirty_canvas=!0,o.dirty_bgcanvas=!0;break;case"Search":l?s.showSearchBox(i,{node_from:s.nodeFrom,slot_from:u,type_filter_in:g}):s.showSearchBox(i,{node_to:s.nodeTo,slot_from:u,type_filter_out:g});break;default:const h={position:[(null==(r=s.e)?void 0:r.canvasX)??0,(null==(d=s.e)?void 0:d.canvasY)??0],nodeType:e,afterRerouteId:n};o.createDefaultNodeForSlot(Object.assign(s,h))}}});return y}}}),app$1.registerExtension({name:"Comfy.EasyUse.TimeTaken",setup(){let e=new Map,t=0;api.addEventListener("execution_start",(e=>{graph&&graph._nodes.forEach((e=>{e.executionDuration&&delete e.executionDuration}))})),api.addEventListener("executing",(i=>{if(!getSetting("EasyUse.Nodes.Runtime",null))return;const s=(null==i?void 0:i.node)||(null==i?void 0:i.detail)||null,o=e.get(t);if(e.delete(t),t&&o){const e=Date.now()-o,i=getNodeById(t);i&&(i.executionDuration||(i.executionDuration=0),i.executionDuration=i.executionDuration+e/1e3)}t=s,e.set(s,Date.now())}))},beforeRegisterNodeDef(e,t){const i=e.prototype.onDrawForeground;e.prototype.onDrawForeground=function(...e){const[t]=e;return drawTime(t,this.executionDuration),null==i?void 0:i.apply(this,e)}}});let nodesStore=null;app$1.registerExtension({name:"Comfy.EasyUse.HotKeys",setup(){if(void 0!==hotkeys){hotkeys("up,down,left,right",(function(e,t){var i,s,o,a,n,l,r,d,c,u,p,A,g,h,m;e.preventDefault();if(!getSetting("EasyUse.Hotkeys.JumpNearestNodes",null))return;const f=getSelectedNodes();if(0===f.length)return;const y=f[0];switch(t.key){case"up":case"left":let e=null;if(isGetNode(y)){const e=null==(i=y.widgets_values)?void 0:i[0],t=null==(s=y.graph)?void 0:s._nodes,o=null==t?void 0:t.find((t=>{var i;if(isSetNode(t)){if((null==(i=t.widgets_values)?void 0:i[0])===e)return t}return null}));o&&jumpToNode(o)}else if((null==(o=y.inputs)?void 0:o.length)>0){for(let t=0;t{var i;if(isGetNode(t)){if((null==(i=t.widgets_values)?void 0:i[0])===e)return t}return null}));i&&jumpToNode(i)}else if((null==(u=y.outputs)?void 0:u.length)>0){for(let e=0;e0&&y.outputs[e].links[0]){t=y.outputs[e].links[0];break}if(t){const e=null==(A=y.graph)?void 0:A.links;if(e[t]){const i=null==(g=e[t])?void 0:g.target_id,s=null==(m=null==(h=y.graph)?void 0:h._nodes_by_id)?void 0:m[i];s&&jumpToNode(s)}}}}})),hotkeys("shift+up,shift+down,shift+left,shift+right,shift+alt+⌘+left,shift+alt+⌘+right,shift+alt+ctrl+left,shift+alt+ctrl+right",(function(e,t){e.preventDefault();if(!getSetting("EasyUse.Hotkeys.AlignSelectedNodes",null))return;const i=getSelectedNodes();if(i.length<=1)return;const s=i;switch(t.key){case"shift+up":LGraphCanvas.alignNodes(s,"top",s[0]);break;case"shift+down":LGraphCanvas.alignNodes(s,"bottom",s[0]);break;case"shift+left":LGraphCanvas.alignNodes(s,"left",s[0]);break;case"shift+right":LGraphCanvas.alignNodes(s,"right",s[0]);break;case"shift+alt+ctrl+left":case"shift+alt+⌘+left":distributeNodes(s,"horizontal");break;case"shift+alt+ctrl+right":case"shift+alt+⌘+right":distributeNodes(s,"vertical")}nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update()})),hotkeys("shift+⌘+left,shift+⌘+right,shift+ctrl+left,shift+ctrl+right",(function(e,t){e.preventDefault();if(!getSetting("EasyUse.Hotkeys.NormalizeSelectedNodes",null))return;const i=getSelectedNodes();if(i.length<=1)return;const s=i;switch(t.key){case"shift+ctrl+left":case"shift+⌘+left":setNodesSameSize(s,"width");break;case"shift+ctrl+right":case"shift+⌘+right":setNodesSameSize(s,"height")}nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update()})),hotkeys("shift+g",(function(e,t){e.preventDefault();getSetting("EasyUse.Hotkeys.AddGroup",null)&&(addSelectedNodesToGroup(),nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update())})),hotkeys("shift+r",(function(e,t){e.preventDefault();getSetting("EasyUse.Hotkeys.cleanVRAMused",null)&&cleanVRAM()})),hotkeys("shift+m",(function(e,t){var i,s,o;if(!getSetting("EasyUse.Hotkeys.toggleNodesMap",null))return;let a=(null==(i=app$1.extensionManager)?void 0:i.sidebarTab)||app$1.extensionManager,n=(null==(s=app$1.extensionManager.sidebarTab)?void 0:s.activeSidebarTabId)||(null==(o=app$1.extensionManager)?void 0:o.activeSidebarTab);a.activeSidebarTabId=n==NODES_MAP_ID?null:NODES_MAP_ID}));const e=[];Array.from(Array(10).keys()).forEach((t=>e.push(`alt+${t}`))),hotkeys(e.join(","),(async function(e,t){e.preventDefault();if(!getSetting("EasyUse.Hotkeys.NodesTemplate",null))return;const i=t.key;let s=parseInt(i.split("+")[1]);const o=await api.getUserData("comfy.templates.json");let a=null;if(200==o.status)try{a=await o.json()}catch(l){toast.error($t("Get Node Templates File Failed"))}else localStorage["Comfy.NodeTemplates"]?a=JSON.parse(localStorage["Comfy.NodeTemplates"]):toast.warn($t("No Node Templates Found"));if(!a)return void toast.warn($t("No Node Templates Found"));s=0===s?9:s-1;const n=a[s];if(n)try{const e=(null==n?void 0:n.name)||"Group",t=(null==n?void 0:n.data)?JSON.parse(n.data):[];clipboardAction((async()=>{await GroupNodeConfig.registerFromWorkflow(t.groupNodes,{}),localStorage.litegrapheditor_clipboard=n.data,app$1.canvas.pasteFromClipboard(),t.groupNodes||addSelectedNodesToGroup(e)}))}catch(l){toast.error(l)}else toast.warn($t("Node template with {key} not set").replace("{key}",i))}));const t=async function(e){if(("b"===e.key||"m"==e.key)&&(e.metaKey||e.ctrlKey)){if(0===getSelectedNodes().length)return;nodesStore||(nodesStore=useNodesStore()),nodesStore&&nodesStore.update()}};window.addEventListener("keydown",t,!0)}}});const clipboardAction=async e=>{const t=localStorage.litegrapheditor_clipboard;await e(),localStorage.litegrapheditor_clipboard=t},addSelectedNodesToGroup=e=>{const t=getSelectedNodes();if(0===t.length)return;const i=t;let s=new LiteGraph.LGraphGroup;s.title=e||"Group",addNodesToGroup(s,i),app$1.canvas.graph.add(s)};function links_with(e,t,i,s){const o=[];return e.workflow.links.forEach((e=>{i&&e[1]===t&&!o.includes(e[3])&&o.push(e[3]),s&&e[3]===t&&!o.includes(e[1])&&o.push(e[1])})),o}function _all_v_nodes(e,t){const i=[],s=[t];for(;s.length>0;){const t=s.pop();i.push(t),s.push(...links_with(e,t,!0,!1).filter((e=>!(i.includes(e)||s.includes(e)))))}s.push(...i.filter((e=>e!=t)));const o=[t];for(;s.length>0;){const t=s.pop();o.push(t),s.push(...links_with(e,t,!1,!0).filter((e=>!(o.includes(e)||s.includes(e)))))}const a=[];return a.push(...i),a.push(...o.filter((e=>!a.includes(e)))),a}async function restart_from_here(e,t=!1){const i=structuredClone(await app$1.graphToPrompt()),s=[];if(i.workflow.nodes.forEach((e=>{s.push(e.id)})),i.workflow.links=i.workflow.links.filter((e=>s.includes(e[1])&&s.includes(e[3]))),t)for(;!app$1.graph._nodes_by_id[e].isChooser;)e=links_with(i,e,!0,!1)[0];const o=_all_v_nodes(i,e);i.workflow.nodes=i.workflow.nodes.filter((t=>(t.id===e&&t.inputs.forEach((e=>{e.link=null})),o.includes(t.id)))),i.workflow.links=i.workflow.links.filter((e=>o.includes(e[1])&&o.includes(e[3])));const a={};for(const[r,d]of Object.entries(i.output))o.includes(parseInt(r))&&(a[r]=d);const n={};for(const[r,d]of Object.entries(a[e.toString()].inputs))Array.isArray(d)||(n[r]=d);a[e.toString()].inputs=n,i.output=a;const l=app$1.graphToPrompt;app$1.graphToPrompt=()=>(app$1.graphToPrompt=l,i),app$1.queuePrompt(0)}class HUD{constructor(){this.current_node_id=void 0,this.class_of_current_node=null,this.current_node_is_chooser=!1}update(){var e,t;return app$1.runningNodeId!=this.current_node_id&&(this.current_node_id=app$1.runningNodeId,this.current_node_id?(this.class_of_current_node=null==(t=null==(e=app$1.graph)?void 0:e._nodes_by_id[app$1.runningNodeId.toString()])?void 0:t.comfyClass,this.current_node_is_chooser="easy imageChooser"===this.class_of_current_node):(this.class_of_current_node=void 0,this.current_node_is_chooser=!1),!0)}}const hud=new HUD,_FlowState=class e{constructor(){}static idle(){return!app$1.runningNodeId}static paused(){return hud.current_node_is_chooser}static paused_here(t){return e.paused()&&e.here(t)}static running(){return!e.idle()}static here(e){return app$1.runningNodeId==e}static state(){return e.paused()?"Paused":e.running()?"Running":"Idle"}};__publicField(_FlowState,"cancelling",!1);let FlowState=_FlowState;function send_message(e,t){const i=new FormData;i.append("message",t),i.append("id",e),api.fetchApi("/easyuse/image_chooser_message",{method:"POST",body:i})}function send_cancel(){send_message(-1,"__cancel__"),FlowState.cancelling=!0,api.interrupt(),FlowState.cancelling=!1}var skip_next=0;function skip_next_restart_message(){skip_next+=1}function send_onstart(){return skip_next>0?(skip_next-=1,!1):(send_message(-1,"__start__"),!0)}const kSampler=["easy kSampler","easy kSamplerTiled","easy fullkSampler"],is_all_same_aspect_ratio=e=>{if(!e.length||1===e.length)return!0;const t=e[0].naturalWidth/e[0].naturalHeight;for(let i=1;is&&(s=v,l=f,r=y,d=p,c=e,u=p*((A-f)/2))}return{cellWidth:l,cellHeight:r,cols:d,rows:c,shiftX:u}}function display_preview_images(e){const t=app$1.graph._nodes_by_id[e.detail.id];if(t){t.selected_images=new Set,t.anti_selected=new Set;return{node:t,image:showImages(t,e.detail.urls),isKSampler:kSampler.includes(t.type)}}}function showImages(e,t){return e.imgs=[],t.forEach((t=>{const i=new Image;e.imgs.push(i),i.onload=()=>{app$1.graph.setDirtyCanvas(!0)},i.src=`/view?filename=${encodeURIComponent(t.filename)}&type=temp&subfolder=${app$1.getPreviewFormatParam()}`})),e.imgs}function drawRect(e,t,i){var s;if(e.imageRects)s=e.imageRects[t];else{const t=e.imagey;s=[1,t+1,e.size[0]-2,e.size[1]-t-2]}i.strokeRect(s[0]+1,s[1]+1,s[2]-2,s[3]-2)}function additionalDrawBackground(e,t,i=0){var s,o;if(!e.imgs)return;const a=app$1.canvas,n=a.graph_mouse,l=e.size[0];let r=e.size[1]-i-15;if(r<200&&(r=200,requestAnimationFrame((t=>{e.size[1]=i+15+200}))),null==e.imageIndex){let o,d,c,u;if(is_all_same_aspect_ratio(e.imgs))({cellWidth:o,cellHeight:d,cols:u,shiftX:c}=calculateImageGrid(e.imgs,l,r));else{const t=e.imgs.reduce(((e,t)=>Math.max(e,t.naturalWidth,t.naturalHeight)),0),i=[];i.length=null==(s=e.imgs)?void 0:s.length,i[0]={naturalWidth:t,naturalHeight:t},({cellWidth:o,cellHeight:d,cols:u,shiftX:c}=calculateImageGrid(i,l,r))}let p=!1,A=e.imgs.length;e.imageRects=[];for(let s=0;s{drawRect(e,i,t)})),t.strokeStyle="#F88",null==(o=null==e?void 0:e.anti_selected)||o.forEach((i=>{drawRect(e,i,t)}))}function click_is_in_image(e,t){var i,s;if((null==(i=e.imgs)?void 0:i.length)>1)for(var o=0;o0&&i0&&se.imagey)return 0;return-1}class chooserImageDialog extends ComfyDialog{constructor(){super(),this.node=null,this.select_index=[],this.dialog_div=null}show(e,t){this.select_index=[],this.node=t;const i=e.map(((e,i)=>{const s=$el("img",{src:e.src,onclick:e=>{this.select_index.includes(i)?(this.select_index=this.select_index.filter((e=>e!==i)),s.classList.remove("selected")):(this.select_index.push(i),s.classList.add("selected")),t.selected_images.has(i)?t.selected_images.delete(i):t.selected_images.add(i)}});return s}));super.show($el("div.comfyui-easyuse-chooser-dialog",[$el("h5.comfyui-easyuse-chooser-dialog-title",$t("Choose images to continue")),$el("div.comfyui-easyuse-chooser-dialog-images",i)]))}createButtons(){const e=super.createButtons();return e[0].onclick=e=>{FlowState.running()&&send_cancel(),super.close()},e.unshift($el("button",{type:"button",textContent:$t("Choose Selected Images"),onclick:e=>{FlowState.paused()&&send_message(this.node.id,[...this.node.selected_images,-1,...this.node.anti_selected]),FlowState.idle()&&(skip_next_restart_message(),restart_from_here(this.node.id).then((()=>{send_message(this.node.id,[...this.node.selected_images,-1,...this.node.anti_selected])}))),super.close()}})),e}}function progressButtonPressed(){const e=app$1.graph._nodes_by_id[this.node_id];if(e){const t=[...e.selected_images];(null==t?void 0:t.length)>0&&e.setProperty("values",t),FlowState.paused()&&(hud.current_node_is_chooser=!1,send_message(e.id,[...e.selected_images,-1,...e.anti_selected])),FlowState.idle()&&(skip_next_restart_message(),restart_from_here(e.id).then((()=>{send_message(e.id,[...e.selected_images,-1,...e.anti_selected])})))}}function cancelButtonPressed(){FlowState.running()&&send_cancel()}function enable_disabling(e){Object.defineProperty(e,"clicked",{get:function(){return this._clicked},set:function(e){this._clicked=e&&""!=this.name}})}function disable_serialize(e){e.options||(e.options={}),e.options.serialize=!1}function accSub(e,t){let i,s,o,a,n,l;n="string"==typeof e?e:e.toString(),l="string"==typeof t?t:t.toString();try{i=n.split(".")[1].length}catch(r){i=0}try{s=l.split(".")[1].length}catch(r){s=0}return o=Math.pow(10,Math.max(i,s)),a=i>=s?i:s,((e*o-t*o)/o).toFixed(a)}function accDiv(e,t){let i,s,o=0,a=0,n="string"==typeof e?e:e.toString(),l="string"==typeof t?t:t.toString();try{o=n.toString().split(".")[1].length}catch(r){}try{a=l.toString().split(".")[1].length}catch(r){}return i=Number(n.toString().replace(".","")),s=Number(l.toString().replace(".","")),i/s*Math.pow(10,a-o)}app$1.registerExtension({name:"Comfy.EasyUse.imageChooser",init(){window.addEventListener("beforeunload",(e=>{FlowState.paused()&&send_cancel()}),!0)},setup(e){const t=LGraphCanvas.prototype.draw;LGraphCanvas.prototype.draw=useTryCatchCallback(t,(function(){hud.update()&&e.graph._nodes.forEach((e=>{e.update&&e.update()})),t.apply(this,arguments)})),api.addEventListener("easyuse-image-choose",(function(e){const{node:t,image:i,isKSampler:s}=display_preview_images(e);if(s){hud.current_node_is_chooser=!0;(new chooserImageDialog).show(i,t)}}));const i=api.interrupt;api.interrupt=function(){FlowState.paused()&&!FlowState.cancelling&&send_cancel(),i.apply(this,arguments)},api.addEventListener("execution_start",(function(){send_onstart()&&e.graph._nodes.forEach((e=>{(e.selected_images||e.anti_selected)&&(e.selected_images.clear(),e.anti_selected.clear(),e.update&&e.update())}))}))},async nodeCreated(e,t){if("easy imageChooser"==e.comfyClass){e.setProperty("values",[]),void 0===(null==e?void 0:e.imageIndex)&&Object.defineProperty(e,"imageIndex",{get:function(){return null},set:function(t){e.overIndex=t}}),void 0===(null==e?void 0:e.imagey)&&setTimeout((t=>{e.imagey,Object.defineProperty(e,"imagey",{get:function(){return e.widgets[e.widgets.length-1].last_y+LiteGraph.NODE_WIDGET_HEIGHT},set:function(t){e.imagey=t}})}),100);const t=e.onMouseDown;e.onMouseDown=function(i,s,o){if(i.isPrimary){const t=click_is_in_image(e,s);t>=0&&this.imageClicked(t)}return t&&t.apply(this,arguments)},e.send_button_widget=e.addWidget("button","","",progressButtonPressed),e.cancel_button_widget=e.addWidget("button","","",cancelButtonPressed),enable_disabling(e.cancel_button_widget),enable_disabling(e.send_button_widget),disable_serialize(e.cancel_button_widget),disable_serialize(e.send_button_widget)}},beforeRegisterNodeDef(e,t,i){if("easy imageChooser"==(null==t?void 0:t.name)){e.prototype.onDrawBackground,e.prototype.onDrawBackground=function(e){additionalDrawBackground(this,e,this.imagey||0)},e.prototype.imageClicked=function(t){"easy imageChooser"===(null==e?void 0:e.comfyClass)&&(this.selected_images.has(t)?this.selected_images.delete(t):this.selected_images.add(t),this.update())};const t=e.prototype.update;e.prototype.update=function(){var e;if(t&&t.apply(this,arguments),this.send_button_widget){this.send_button_widget.node_id=this.id;const t=(this.selected_images?this.selected_images.size:0)+(this.anti_selected?this.anti_selected.size:0),i=(null==(e=this.imgs)?void 0:e.length)||0;FlowState.paused_here(this.id)&&t>0?this.send_button_widget.name=t>1?"Progress selected ("+t+"/"+i+")":"Progress selected image":this.send_button_widget.name=t>0?t>1?"Progress selected ("+t+"/"+i+")":"Progress selected image as restart":""}if(this.cancel_button_widget){const e=FlowState.running();this.cancel_button_widget.name=e?"Cancel current run":""}this.setDirtyCanvas(!0,!0)}}}}),Number.prototype.div=function(e){return accDiv(this,e)};let api_keys=[],api_current=0;const api_cost={sd3:6.5,"sd3-turbo":4};class AccountDialog extends ComfyDialog{constructor(){super(),this.lists=[],this.dialog_div=null,this.user_div=null}addItem(e,t){return $el("div.easyuse-account-dialog-item",[$el("input",{type:"text",placeholder:"Enter name",oninput:e=>{const t=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);api_keys[t].name=e.target.value},value:api_keys[e].name}),$el("input.key",{type:"text",oninput:e=>{const t=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);api_keys[t].key=e.target.value},placeholder:"Enter APIKEY",value:api_keys[e].key}),$el("button.choose",{textContent:$t("Choose"),onclick:async e=>{var i,s,o;const a=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);let n=api_keys[a].name,l=api_keys[a].key;if(!n)return void toast.error($t("Please enter the account name"));if(!l)return void toast.error($t("Please enter the APIKEY"));let r=!0;for(let t=0;t{(new AccountDialog).show(t)}},[$el("div.user",[$el("div.avatar",a?[$el("img",{src:a})]:"😀"),$el("div.info",[$el("h5.name",n),$el("h6.remark","Credits: "+l)])]),$el("div.edit",{textContent:$t("Edit")})])),toast.success($t("Save Succeed"))}else toast.success($t("Save Succeed"));this.close()}else toast.error($t("Save Failed"))}}),$el("button.delete",{textContent:$t("Delete"),onclick:e=>{const t=Array.prototype.indexOf.call(this.dialog_div.querySelectorAll(".easyuse-account-dialog-item"),e.target.parentNode);api_keys.length<=1?toast.error($t("At least one account is required")):(api_keys.splice(t,1),this.dialog_div.removeChild(e.target.parentNode))}})])}show(e){api_keys.forEach(((t,i)=>{this.lists.push(this.addItem(i,e))})),this.dialog_div=$el("div.easyuse-account-dialog",this.lists),super.show($el("div.easyuse-account-dialog-main",[$el("div",[$el("a",{href:"https://platform.stability.ai/account/keys",target:"_blank",textContent:$t("Getting Your APIKEY")})]),this.dialog_div]))}createButtons(){const e=super.createButtons();return e.unshift($el("button",{type:"button",textContent:$t("Save Account Info"),onclick:e=>{let t=!0;for(let i=0;i{200==e.status?toast.success($t("Save Succeed")):toast.error($t("Save Failed"))}))}else toast.error($t("APIKEY is not Empty"))}})),e.unshift($el("button",{type:"button",textContent:$t("Add Account"),onclick:e=>{const t="Account "+api_keys.length.toString();api_keys.push({name:t,key:""});const i=this.addItem(api_keys.length-1);this.lists.push(i),this.dialog_div.appendChild(i)}})),e}}app$1.registerExtension({name:"Comfy.EasyUse.API.SD3",async beforeRegisterNodeDef(e,t,i){if("easy stableDiffusion3API"==t.name){const t=e.prototype.onNodeCreated;e.prototype.onNodeCreated=async function(){var e,i,s;t&&(null==t||t.apply(this,arguments));const o=this.widgets.find((e=>["seed_num","seed"].includes(e.name))),a=this.widgets.find((e=>["control_before_generate","control_after_generate"].includes(e.name)));let n=this.widgets.find((e=>"model"==e.name));n.callback=e=>{l.value="-"+api_cost[e]};const l=this.addWidget("text","cost_credit","0",(e=>{}),{serialize:!1});l.disabled=!0,a&&setTimeout((e=>{"control before generate"==a.name&&0===o.value&&(o.value=Math.floor(4294967294*Math.random())),l.value="-"+api_cost[n.value]}),100);let r=$el("div.easyuse-account-user",[$t("Loading UserInfo...")]);this.addDOMWidget("account","btn",$el("div.easyuse-account",r)),api.addEventListener("stable-diffusion-api-generate-succeed",(async({detail:e})=>{var t;let i=r.querySelectorAll(".remark");if(i&&i[0]){const t=(null==e?void 0:e.model)?api_cost[e.model]:0;if(t){let e=accSub(parseFloat(i[0].innerText.replace(/Credits: /g,"")),t);e>0&&(i[0].innerText="Credits: "+e.toString())}}await sleep(1e4);const s=await api.fetchApi("/easyuse/stability/balance");if(200==s.status){const e=await s.json();if(null==e?void 0:e.balance){const s=(null==(t=e.balance)?void 0:t.credits)||0;i&&i[0]&&(i[0].innerText="Credits: "+s)}}}));const d=await api.fetchApi("/easyuse/stability/api_keys");if(200==d.status){let t=await d.json();if(api_keys=t.keys,api_current=t.current,api_keys.length>0&&void 0!==api_current){const t=api_keys[api_current].key,o=api_keys[api_current].name;if(t){const t=await api.fetchApi("/easyuse/stability/user_info");if(200==t.status){const o=await t.json();if((null==o?void 0:o.account)&&(null==o?void 0:o.balance)){const t=(null==(e=o.account)?void 0:e.profile_picture)||null,a=(null==(i=o.account)?void 0:i.email)||null,n=(null==(s=o.balance)?void 0:s.credits)||0;r.replaceChildren($el("div.easyuse-account-user-info",{onclick:e=>{(new AccountDialog).show(r)}},[$el("div.user",[$el("div.avatar",t?[$el("img",{src:t})]:"😀"),$el("div.info",[$el("h5.name",a),$el("h6.remark","Credits: "+n)])]),$el("div.edit",{textContent:$t("Edit")})]))}}}else r.replaceChildren($el("div.easyuse-account-user-info",{onclick:e=>{(new AccountDialog).show(r)}},[$el("div.user",[$el("div.avatar","😀"),$el("div.info",[$el("h5.name",o),$el("h6.remark",$t("Click to set the APIKEY first"))])]),$el("div.edit",{textContent:$t("Edit")})]))}}}}}});let activeDropdown=null;function removeDropdown(){activeDropdown&&(activeDropdown.removeEventListeners(),activeDropdown.dropdown.remove(),activeDropdown=null)}function createDropdown(e,t,i,s=!1){removeDropdown(),new Dropdown(e,t,i,s)}class Dropdown{constructor(e,t,i,s=!1){this.dropdown=document.createElement("ul"),this.dropdown.setAttribute("role","listbox"),this.dropdown.classList.add("easy-dropdown"),this.selectedIndex=-1,this.inputEl=e,this.suggestions=t,this.onSelect=i,this.isDict=s,this.focusedDropdown=this.dropdown,this.buildDropdown(),this.onKeyDownBound=this.onKeyDown.bind(this),this.onWheelBound=this.onWheel.bind(this),this.onClickBound=this.onClick.bind(this),this.addEventListeners()}buildDropdown(){this.isDict?this.buildNestedDropdown(this.suggestions,this.dropdown):this.suggestions.forEach(((e,t)=>{this.addListItem(e,t,this.dropdown)}));const e=this.inputEl.getBoundingClientRect();this.dropdown.style.top=e.top+e.height-10+"px",this.dropdown.style.left=e.left+"px",document.body.appendChild(this.dropdown),activeDropdown=this}buildNestedDropdown(e,t){let i=0;Object.keys(e).forEach((s=>{const o=e[s];if("object"==typeof o&&null!==o){const e=document.createElement("ul");e.setAttribute("role","listbox"),e.classList.add("easy-nested-dropdown");const a=document.createElement("li");a.classList.add("folder"),a.textContent=s,a.appendChild(e),a.addEventListener("mouseover",this.onMouseOver.bind(this,i,t)),t.appendChild(a),this.buildNestedDropdown(o,e),i+=1}else{const e=document.createElement("li");e.classList.add("item"),e.setAttribute("role","option"),e.textContent=s,e.addEventListener("mouseover",this.onMouseOver.bind(this,i,t)),e.addEventListener("mousedown",this.onMouseDown.bind(this,s)),t.appendChild(e),i+=1}}))}addListItem(e,t,i){const s=document.createElement("li");s.setAttribute("role","option"),s.textContent=e,s.addEventListener("mouseover",this.onMouseOver.bind(this,t)),s.addEventListener("mousedown",this.onMouseDown.bind(this,e)),i.appendChild(s)}addEventListeners(){document.addEventListener("keydown",this.onKeyDownBound),this.dropdown.addEventListener("wheel",this.onWheelBound),document.addEventListener("click",this.onClickBound)}removeEventListeners(){document.removeEventListener("keydown",this.onKeyDownBound),this.dropdown.removeEventListener("wheel",this.onWheelBound),document.removeEventListener("click",this.onClickBound)}onMouseOver(e,t){t&&(this.focusedDropdown=t),this.selectedIndex=e,this.updateSelection()}onMouseOut(){this.selectedIndex=-1,this.updateSelection()}onMouseDown(e,t){t.preventDefault(),this.onSelect(e),this.dropdown.remove(),this.removeEventListeners()}onKeyDown(e){const t=Array.from(this.focusedDropdown.children),i=t[this.selectedIndex];if(activeDropdown)if(38===e.keyCode)e.preventDefault(),this.selectedIndex=Math.max(0,this.selectedIndex-1),this.updateSelection();else if(40===e.keyCode)e.preventDefault(),this.selectedIndex=Math.min(t.length-1,this.selectedIndex+1),this.updateSelection();else if(39===e.keyCode){if(e.preventDefault(),i&&i.classList.contains("folder")){const e=i.querySelector(".easy-nested-dropdown");e&&(this.focusedDropdown=e,this.selectedIndex=0,this.updateSelection())}}else if(37===e.keyCode&&this.focusedDropdown!==this.dropdown){const e=this.focusedDropdown.closest(".easy-dropdown, .easy-nested-dropdown").parentNode.closest(".easy-dropdown, .easy-nested-dropdown");e&&(this.focusedDropdown=e,this.selectedIndex=Array.from(e.children).indexOf(this.focusedDropdown.parentNode),this.updateSelection())}else if((13===e.keyCode||9===e.keyCode)&&this.selectedIndex>=0){e.preventDefault(),i.classList.contains("item")&&(this.onSelect(t[this.selectedIndex].textContent),this.dropdown.remove(),this.removeEventListeners());const s=i.querySelector(".easy-nested-dropdown");s&&(this.focusedDropdown=s,this.selectedIndex=0,this.updateSelection())}else 27===e.keyCode&&(this.dropdown.remove(),this.removeEventListeners())}onWheel(e){const t=parseInt(this.dropdown.style.top);localStorage.getItem("Comfy.Settings.Comfy.InvertMenuScrolling")?this.dropdown.style.top=t+(e.deltaY<0?10:-10)+"px":this.dropdown.style.top=t+(e.deltaY<0?-10:10)+"px"}onClick(e){this.dropdown.contains(e.target)||e.target===this.inputEl||(this.dropdown.remove(),this.removeEventListeners())}updateSelection(){Array.from(this.focusedDropdown.children).forEach(((e,t)=>{t===this.selectedIndex?e.classList.add("selected"):e.classList.remove("selected")}))}}function generateNumList(e){const t=e.min||0,i=e.max||0,s=e.step||1;if(0===s)return[];const o=[];let a=t;for(;a<=i;){if(Number.isInteger(s))o.push(Math.round(a)+"; ");else{let e=a.toFixed(3);-0==e&&(e="0.000"),/\.\d{3}$/.test(e)||(e+="0"),o.push(e+"; ")}a+=s}return i>=0&&t>=0?o:o.reverse()}let plotDict={},currentOptionsDict={};function getCurrentOptionLists(e,t){String(e.id);const i=t.name,s=t.value.replace(/^(loader|preSampling):\s/,"");currentOptionsDict[i]?currentOptionsDict[i]!=plotDict[s]&&(currentOptionsDict[i]=plotDict[s]):currentOptionsDict={...currentOptionsDict,[i]:plotDict[s]}}function addGetSetters(e){if(e.widgets)for(const t of e.widgets)if("x_axis"===t.name||"y_axis"===t.name){let i=t.value;Object.defineProperty(t,"value",{get:()=>i,set(s){s!==i&&(i=s,getCurrentOptionLists(e,t))}})}}function dropdownCreator(e){if(e.widgets){const t=e.widgets.filter((e=>"customtext"===e.type&&!1!==e.dynamicPrompts||e.dynamicPrompts));for(const e of t){let t=function(e,t,s,o){return e&&(t[s]=e),t.map((e=>i(e,o))).filter((e=>""!==e)).join("")},i=function(e,t){if(e=s(e),o(e,t))return e+"; ";let i=a(e,t);return 1===i.length||2===i.length?i[0]:o(n(e),t)?n(e)+"; ":""},s=function(e){return e.replace(/(\n|;| )/g,"")},o=function(e,t){return t.includes(e+"; ")},a=function(e,t){return t.filter((t=>t.toLowerCase().includes(e.toLowerCase())))},n=function(e){return Number(e)?Number(e).toFixed(3):["0","0.","0.0","0.00","00"].includes(e)?"0.000":e};const l=function(){const i=e.name[0]+"_axis";let s=(null==currentOptionsDict?void 0:currentOptionsDict[i])||[];if(0===s.length)return;const o=e.inputEl.value,a=e.inputEl.selectionStart;let n=o.split("; ");const l=o.substring(0,a).split("; ").length-1,r=n[l].replace(/\n/g,"").toLowerCase(),d=s.filter((e=>e.toLowerCase().includes(r))).map((e=>e.replace(/; /g,"")));if(d.length>0)createDropdown(e.inputEl,d,(i=>{const o=t(i,n,l,s);e.inputEl.value=o}));else{removeDropdown();const i=t(null,n,l,s);e.inputEl.value=i}};e.inputEl.removeEventListener("input",l),e.inputEl.addEventListener("input",l),e.inputEl.removeEventListener("mouseup",l),e.inputEl.addEventListener("mouseup",l)}}}app$1.registerExtension({name:"Comfy.EasyUse.XYPlot",async beforeRegisterNodeDef(e,t,i){if("easy XYPlot"===t.name){plotDict=t.input.hidden.plot_dict[0];for(const e in plotDict){const t=plotDict[e];if(Array.isArray(t)){let i=[];for(const e of t)i.push(e+"; ");plotDict[e]=i}else plotDict[e]="object"==typeof t?"seed"==e?t+"; ":generateNumList(t):t+"; "}plotDict.None=[],plotDict["---------------------"]=[]}},nodeCreated(e){"easy XYPlot"===e.comfyClass&&(addGetSetters(e),dropdownCreator(e))}});const useDomWidgetStore=defineStore("domWidget",(()=>{const e=ref(new Map);return{widgetStates:e,registerWidget:t=>{e.value.set(t.id,{widget:markRaw(t),visible:!0,readonly:!1,zIndex:0,pos:[0,0],size:[0,0]})},unregisterWidget:t=>{e.value.delete(t)}}})),generateUUID=()=>"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})),isDOMWidget=e=>"element"in e&&!!e.element,isComponentWidget=e=>"component"in e&&!!e.component,_BaseDOMWidgetImpl=class e{constructor(e){this.type=e.type,this.name=e.name,this.options=e.options,this.id=generateUUID(),this.node=e.node,this.y=0}get value(){var e,t;return(null==(t=(e=this.options).getValue)?void 0:t.call(e))??""}set value(e){var t,i,s;null==(i=(t=this.options).setValue)||i.call(t,e),null==(s=this.callback)||s.call(this,this.value)}get margin(){return this.options.margin??e.DEFAULT_MARGIN}isVisible(){return!["hidden"].includes(this.type)&&this.node.isWidgetVisible(this)}draw(e,t,i,s,o,a){var n,l;if(this.options.hideOnZoom&&a&&this.isVisible()){const t=e.fillStyle;e.beginPath(),e.fillStyle=LiteGraph.WIDGET_BGCOLOR,e.rect(this.margin,s+this.margin,i-2*this.margin,(this.computedHeight??o)-2*this.margin),e.fill(),e.fillStyle=t}null==(l=(n=this.options).onDraw)||l.call(n,this)}onRemove(){useDomWidgetStore().unregisterWidget(this.id)}};__publicField(_BaseDOMWidgetImpl,"DEFAULT_MARGIN",10);let BaseDOMWidgetImpl=_BaseDOMWidgetImpl;class ComponentWidgetImpl extends BaseDOMWidgetImpl{constructor(e){super({...e,type:"custom"}),this.component=e.component,this.inputSpec=e.inputSpec}computeLayoutSize(){var e,t,i,s;return{minHeight:(null==(t=(e=this.options).getMinHeight)?void 0:t.call(e))??45,maxHeight:(null==(s=(i=this.options).getMaxHeight)?void 0:s.call(i))??45,minWidth:120}}serializeValue(){return toRaw(this.value)}}const _hoisted_1$8={class:"w-full flex justify-between items-center"},_hoisted_2$4={class:"flex justify-start items-center flex-1 gap-2"},_hoisted_3$3={class:"flex justify-end items-center tool ml-2 position-relative"},_sfc_main$8={__name:"promptAwait",props:{widget:{required:!0},widgetModifiers:{}},emits:["update:widget"],setup(e){const t=useModel(e,"widget"),i=ref(!1),s=ref(!1);let o=null;const a=()=>{if(s.value)return;const e=window.SpeechRecognition||window.webkitSpeechRecognition;e&&(s.value=!0,o||(o=new e,o.interimResults=!1),o.start(),o.addEventListener("result",(e=>{var i;const s=e.results[0][0].transcript;let o=null==(i=t.value)?void 0:i.node,a=getWidgetByName(o,"prompt");a&&(a.value+=s)})),o.addEventListener("end",(()=>{s.value=!1,o=null})),o.addEventListener("error",(e=>{})))},n=()=>{s.value&&o&&o.stop()};onMounted((e=>{api.addEventListener("easyuse_prompt_await",(e=>{var s,o,a,n;const l=e.detail.id,d=-1!==(null==(s=t.value)?void 0:s.node.id).toString().indexOf(":")?(null==(o=t.value)?void 0:o.node.id).toString().split(":")[0]:null==(a=t.value)?void 0:a.node.id;parseInt(l)===parseInt(d)&&(i.value=!0,r("last_seed",(null==(n=t.value.value)?void 0:n.seed)||0),r("seed",Math.floor(Math.random()*MAX_SEED_NUM)))}));const s=api.interrupt;api.interrupt=function(){!i.value&&app$1.runningNodeId||(l(JSON.stringify({result:-1,prompt:"",select:"now"}),!0),i.value=!1),s.apply(this,arguments)}}));const l=(e,s)=>{var o,a,n,l,d,c,u,p,A;if(!i.value&&!s)return;const g=new FormData,h=null==(o=t.value)?void 0:o.node,m=-1!==(null==(a=t.value)?void 0:a.node.id).toString().indexOf(":")?(null==(n=t.value)?void 0:n.node.id).toString().split(":")[0]:null==(l=t.value)?void 0:l.node.id,f=(null==(d=getWidgetByName(h,"prompt"))?void 0:d.value)||"";let y=null==(c=t.value.value)?void 0:c.select,v=(null==(u=t.value.value)?void 0:u.last_seed)||0,_=(null==(p=t.value.value)?void 0:p.seed)||0,w=(null==(A=t.value.value)?void 0:A.unlock)||!1;g.append("message",JSON.stringify({result:e,prompt:f,select:y,last_seed:v,seed:_,unlock:w})),g.append("id",m),i.value=!1,api.fetchApi("/easyuse/message_callback",{method:"POST",body:g}).then((e=>{r("select","now")}))},r=(e,i)=>{t.value.value||(t.value.value={}),t.value.value[e]=i};return(e,o)=>(openBlock(),createElementBlock("div",_hoisted_1$8,[createBaseVNode("div",_hoisted_2$4,[createVNode(unref(script),{disabled:!Boolean(i.value),label:unref($t)("Continue"),size:"small",style:{height:"20px","font-size":"12px","white-space":"nowrap",padding:"0 8px"},onClick:o[0]||(o[0]=e=>l(1))},null,8,["disabled","label"]),createVNode(unref(script),{disabled:!Boolean(i.value),label:unref($t)("Stop"),severity:"danger",size:"small",style:{height:"20px","font-size":"12px","white-space":"nowrap",padding:"0 8px"},onClick:o[1]||(o[1]=e=>l(-1))},null,8,["disabled","label"]),createVNode(unref(script$1),{class:"easyuse-prompt-await-select",modelValue:t.value.value.select,"onUpdate:modelValue":o[2]||(o[2]=e=>t.value.value.select=e),options:[{name:unref($t)("now"),value:"now"},{name:unref($t)("prev"),value:"prev"}],optionLabel:"name",optionValue:"value",size:"small",style:{flex:"1",height:"24px","line-height":"10px","min-width":"70px","max-width":"100px"}},null,8,["modelValue","options"])]),createBaseVNode("div",_hoisted_3$3,[withDirectives(createVNode(unref(script),{style:{"--p-button-sm-font-size":"11px"},size:"small",icon:t.value.value.unlock?"pi pi-unlock":"pi pi-lock",severity:t.value.value.unlock?"contrast":"warn",variant:"text",onClick:o[3]||(o[3]=e=>t.value.value.unlock=!t.value.value.unlock),rounded:""},null,8,["icon","severity"]),[[unref(Tooltip),{value:t.value.value.unlock?"随机种子":"锁定种子值",class:"jm-tooltip"},"top"]]),s.value?withDirectives((openBlock(),createBlock(unref(script),{key:0,size:"small",icon:"pi pi-pause-circle",severity:"info",variant:"outlined",onClick:n,rounded:""},null,512)),[[unref(Tooltip),{value:unref($t)("Stop Recording"),class:"jm-tooltip"},"top"]]):withDirectives((openBlock(),createBlock(unref(script),{key:1,size:"small",icon:"pi pi-microphone",severity:"contrast",variant:"text",onClick:a,rounded:""},null,512)),[[unref(Tooltip),{value:unref($t)("Voice input"),class:"jm-tooltip"},"top"]])])]))}},_hoisted_1$7={class:"easyuse-multiselect"},_sfc_main$7={__name:"multiSelectWidget",props:mergeModels(["widget"],{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){var t,i,s,o;const a=Object.keys(HUMAN_SEGMENTATION).reduce(((e,t)=>(Array.isArray(HUMAN_SEGMENTATION[t])?e[t]=HUMAN_SEGMENTATION[t].map(((e,t)=>({label:e,value:t}))):"object"==typeof HUMAN_SEGMENTATION[t]?e[t]=Object.entries(HUMAN_SEGMENTATION[t]).map((([e,t])=>({label:e,value:t}))):e[t]=[],e)),{}),n=useModel(e,"modelValue"),l=e.widget.inputSpec,r=(null==(t=l.multi_select)?void 0:t.max_selected_labels)??3,d=l.optionLabel??"label",c=l.optionValue??"value",u=(null==(i=l.multi_select)?void 0:i.placeholder)?$t(null==(s=l.multi_select)?void 0:s.placeholder):$t("select items"),p=(null==(o=l.multi_select)?void 0:o.chip)?"chip":"comma",A=ref(l.options??[]),g=e=>{e&&a[e]?A.value=a[e].map(((e,t)=>({label:$t(e.label),value:e.value}))):A.value=[]};return onMounted((t=>{if("easy humanSegmentation"==e.widget.node.type){const t=getWidgetByName(e.widget.node,"method");g(t.value),t.callback=e=>{n.value=[],g(e)}}})),(e,t)=>(openBlock(),createElementBlock("div",_hoisted_1$7,[createVNode(unref(script$2),{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=e=>n.value=e),options:A.value,optionLabel:unref(d),optionValue:unref(c),appendTo:"self",filter:"",placeholder:unref(u),"max-selected-labels":unref(r),display:unref(p),class:"w-full easyuse-multiselect-container"},null,8,["modelValue","options","optionLabel","optionValue","placeholder","max-selected-labels","display"])]))}},_export_sfc=(e,t)=>{const i=e.__vccOpts||e;for(const[s,o]of t)i[s]=o;return i},_hoisted_1$6={class:"relative rounded-t-lg overflow-hidden select-none"},_hoisted_2$3={key:1,class:"w-full h-full flex items-center justify-center"},_sfc_main$6={__name:"baseThumbnail",props:{hoverZoom:{type:"number",default:4},isHovered:{type:Boolean,default:!1}},setup(e){const t=ref(!1),i=ref(null);return onMounted((()=>{var e;Array.from((null==(e=i.value)?void 0:e.getElementsByTagName("img"))??[]).forEach((e=>{useEventListener(e,"error",(()=>{t.value=!0}))}))})),(s,o)=>(openBlock(),createElementBlock("div",_hoisted_1$6,[t.value?(openBlock(),createElementBlock("div",_hoisted_2$3,o[0]||(o[0]=[createBaseVNode("i",{class:"pi pi-file text-4xl"},null,-1)]))):(openBlock(),createElementBlock("div",{key:0,ref_key:"contentRef",ref:i,class:"w-full h-full transform-gpu transition-transform duration-1000 ease-out",style:normalizeStyle(e.isHovered?{transform:`scale(${1+e.hoverZoom/100})`}:void 0)},[renderSlot(s.$slots,"default",{},void 0,!0)],4))]))}},BaseThumbnail=_export_sfc(_sfc_main$6,[["__scopeId","data-v-604a4248"]]),_hoisted_1$5=["src","alt"],_sfc_main$5={__name:"lazyImage",props:{src:{type:String,required:!0},alt:{type:String,default:""},imageClass:{type:[String,Array,Object],default:""},imageStyle:{type:[String,Object],default:()=>({})},placeholderClass:{type:[String,Array,Object],default:""},errorClass:{type:[String,Array,Object],default:""},rootMargin:{type:String,default:"50px"},threshold:{type:Number,default:.1},immediate:{type:Boolean,default:!1}},emits:["load","error","visible"],setup(e,{emit:t}){const i=e,s=t,o=ref(null),a=ref(i.immediate),n=ref(!1),l=ref(!1),r=computed((()=>i.src));watch((()=>i.src),(()=>{n.value=!1,l.value=!1,i.immediate||(a.value=!1)}),{immediate:!0});const{stop:d}=useIntersectionObserver(o,(([e])=>{(null==e?void 0:e.isIntersecting)&&!a.value&&(a.value=!0,s("visible"),d())}),{rootMargin:i.rootMargin,threshold:i.threshold}),c=e=>{n.value=!0,l.value=!1,s("load",e)},u=e=>{l.value=!0,n.value=!1,s("error",e)};return(t,i)=>(openBlock(),createElementBlock("div",{ref_key:"containerRef",ref:o,class:"lazy-image-container"},[a.value&&r.value?(openBlock(),createElementBlock("img",{key:0,src:r.value,alt:e.alt,class:normalizeClass(e.imageClass),style:normalizeStyle(e.imageStyle),draggable:"false",onLoad:c,onError:u},null,46,_hoisted_1$5)):a.value?l.value?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(["lazy-image-error","w-full h-full flex items-center justify-center bg-surface-100 dark:bg-surface-800",e.errorClass])},[renderSlot(t.$slots,"error",{},(()=>[i[1]||(i[1]=createBaseVNode("i",{class:"pi pi-exclamation-triangle text-2xl text-surface-400"},null,-1))]),!0)],2)):createCommentVNode("",!0):(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(["lazy-image-placeholder","w-full h-full flex items-center justify-center bg-surface-100 dark:bg-surface-800",e.placeholderClass])},[renderSlot(t.$slots,"placeholder",{},(()=>[i[0]||(i[0]=createBaseVNode("i",{class:"pi pi-image text-2xl text-surface-400"},null,-1))]),!0)],2))],512))}},LazyImage=_export_sfc(_sfc_main$5,[["__scopeId","data-v-c6211f86"]]),_hoisted_1$4={class:"overflow-hidden w-full h-full flex items-center justify-center"},_sfc_main$4={__name:"defaultThumbnail",props:{src:{type:String,required:!0},alt:{type:String,required:!0},hoverZoom:{type:Number,required:!0},isHovered:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},rootMargin:{type:String,default:"50px"},threshold:{type:Number,default:.1},immediate:{type:Boolean,default:!1}},emits:["load","error","visible"],setup(e,{emit:t}){const i=e,{src:s,isVideo:o}=i;return o??(null==s||s.toLowerCase().endsWith(".webp")),(t,i)=>(openBlock(),createBlock(BaseThumbnail,{"hover-zoom":e.hoverZoom,"is-hovered":e.isHovered},{default:withCtx((()=>[createBaseVNode("div",_hoisted_1$4,[createVNode(LazyImage,{src:unref(s),"image-class":["transform-gpu transition-transform duration-300 ease-out","w-full h-full object-cover"],"image-style":e.isHovered?{transform:`scale(${1+e.hoverZoom/100})`}:void 0,"root-margin":e.rootMargin,threshold:e.threshold,immediate:e.immediate,onLoad:i[0]||(i[0]=e=>t.$emit("load",e)),onError:i[1]||(i[1]=e=>t.$emit("error",e)),onVisible:i[2]||(i[2]=e=>t.$emit("visible",e))},{placeholder:withCtx((()=>[renderSlot(t.$slots,"placeholder",{},(()=>[i[3]||(i[3]=createBaseVNode("i",{class:"pi pi-image text-2xl text-surface-400"},null,-1))]))])),error:withCtx((()=>[renderSlot(t.$slots,"error",{},(()=>[i[4]||(i[4]=createBaseVNode("i",{class:"pi pi-exclamation-triangle text-2xl text-surface-400"},null,-1))]))])),_:3},8,["src","image-style","root-margin","threshold","immediate"])])])),_:3},8,["hover-zoom","is-hovered"]))}},_hoisted_1$3={class:"overflow-hidden w-full h-full flex items-center justify-center relative"},SLIDER_START_POSITION=50,_sfc_main$3={__name:"compareSliderThumbnail",props:{baseImageSrc:{type:String,required:!0},overlayImageSrc:{type:String,required:!0},alt:{type:String,required:!0},isHovered:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},rootMargin:{type:String,default:"50px"},threshold:{type:Number,default:.1},immediate:{type:Boolean,default:!1}},emits:["load","error","visible"],setup(e,{emit:t}){var i,s;const o=e;o.isVideo||(null==(i=o.baseImageSrc)?void 0:i.toLowerCase().endsWith(".webp"))||null==(s=o.overlayImageSrc)||s.toLowerCase().endsWith(".webp");const a=ref(SLIDER_START_POSITION),n=ref(null),{elementX:l,elementWidth:r,isOutside:d}=useMouseInElement(n);return watch([()=>o.isHovered,l,r,d],(([e,t,i,s])=>{e&&(s||(a.value=t/i*100))})),(t,i)=>(openBlock(),createBlock(BaseThumbnail,{"is-hovered":e.isHovered},{default:withCtx((()=>[createBaseVNode("div",_hoisted_1$3,[createVNode(LazyImage,{src:e.baseImageSrc,"image-class":["transform-gpu transition-transform duration-300 ease-out","w-full h-full object-cover block"],"root-margin":e.rootMargin,threshold:e.threshold,immediate:e.immediate,onLoad:i[0]||(i[0]=e=>t.$emit("load",e)),onError:i[1]||(i[1]=e=>t.$emit("error",e)),onVisible:i[2]||(i[2]=e=>t.$emit("visible",e))},{placeholder:withCtx((()=>[renderSlot(t.$slots,"placeholder",{},(()=>[i[3]||(i[3]=createBaseVNode("i",{class:"pi pi-image text-2xl text-surface-400"},null,-1))]))])),error:withCtx((()=>[renderSlot(t.$slots,"error",{},(()=>[i[4]||(i[4]=createBaseVNode("i",{class:"pi pi-exclamation-triangle text-2xl text-surface-400"},null,-1))]))])),_:3},8,["src","root-margin","threshold","immediate"]),createBaseVNode("div",{ref_key:"containerRef",ref:n,class:"absolute inset-0"},[createVNode(LazyImage,{src:e.overlayImageSrc,"image-class":["transform-gpu transition-transform duration-300 ease-out","w-full h-full object-cover block"],"image-style":{clipPath:`inset(0 ${100-a.value}% 0 0)`},"root-margin":e.rootMargin,threshold:e.threshold,immediate:e.immediate},{placeholder:withCtx((()=>[renderSlot(t.$slots,"placeholder",{},(()=>[i[5]||(i[5]=createBaseVNode("i",{class:"pi pi-image text-2xl text-surface-400"},null,-1))]))])),error:withCtx((()=>[renderSlot(t.$slots,"error",{},(()=>[i[6]||(i[6]=createBaseVNode("i",{class:"pi pi-exclamation-triangle text-2xl text-surface-400"},null,-1))]))])),_:3},8,["src","image-style","root-margin","threshold","immediate"]),createBaseVNode("div",{class:"absolute inset-y-0 bg-white/30 backdrop-blur-sm z-10 pointer-events-none",style:normalizeStyle({left:`${a.value}%`,width:"1px"})},null,4)],512)])])),_:3},8,["is-hovered"]))}},_hoisted_1$2={class:"selector-card-wrapper"},_hoisted_2$2={class:"card-image-container"},_hoisted_3$2={key:2,class:"selection-badge"},_hoisted_4$2={class:"card-content"},_hoisted_5$1={class:"card-title"},_sfc_main$2={__name:"selectorCard",props:{item:{type:Object,required:!0},uniqueKey:{type:String,default:"id"},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},showDescription:{type:Boolean,default:!0},showMeta:{type:Boolean,default:!1},showActions:{type:Boolean,default:!1},actions:{type:Array,default:()=>[]},itemFields:{type:Object,default:()=>({id:"id",title:"title",description:"description",image:"image",meta:"meta"})},locale:{type:String,default:"en"}},emits:["select","action","item-hover","item-leave"],setup(e,{emit:t}){const i=e,s=t,o=ref(null),a=useElementHover(o),n=()=>{i.selectable&&s("select",i.item)},l=()=>{s("item-hover",i.item)},r=()=>{s("item-leave",i.item)};return(t,i)=>(openBlock(),createElementBlock("div",_hoisted_1$2,[createBaseVNode("div",{ref_key:"cardRef",ref:o,class:normalizeClass(["card-item",{selected:e.isSelected,clickable:e.selectable}]),onClick:n,onMouseenter:l,onMouseleave:r},[createBaseVNode("div",_hoisted_2$2,["compareSlider"===e.item.thumbnailVariant?(openBlock(),createBlock(_sfc_main$3,{key:0,"base-image-src":e.item.thumbnail[0],"overlay-image-src":e.item.thumbnail[1],alt:t.title,"is-hovered":unref(a),"is-video":"video"===e.item.mediaType||"webp"===e.item.mediaSubtype},null,8,["base-image-src","overlay-image-src","alt","is-hovered","is-video"])):(openBlock(),createBlock(_sfc_main$4,{key:1,src:e.item.thumbnail||"",alt:"zh"==e.locale?e.item.name_cn:e.item.name,"hover-zoom":4,"is-hovered":!1,class:"card-image"},null,8,["src","alt"])),e.selectable&&e.isSelected?(openBlock(),createElementBlock("div",_hoisted_3$2,i[0]||(i[0]=[createBaseVNode("i",{class:"pi pi-check text-white"},null,-1)]))):createCommentVNode("",!0)]),createBaseVNode("div",_hoisted_4$2,[createBaseVNode("div",_hoisted_5$1,toDisplayString("zh"==e.locale?e.item.name_cn:e.item.name),1)])],34)]))}},SelectorCard=_export_sfc(_sfc_main$2,[["__scopeId","data-v-3c47be14"]]),_hoisted_1$1={class:"list-item"},_hoisted_2$1=["name","checked"],_hoisted_3$1={class:"list-item-content"},_hoisted_4$1={class:"list-title"},_sfc_main$1={__name:"selectorList",props:{item:{type:Object,required:!0},uniqueKey:{type:String,default:"id"},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},showDescription:{type:Boolean,default:!0},showActions:{type:Boolean,default:!1},actions:{type:Array,default:()=>[]},itemFields:{type:Object,default:()=>({id:"id",title:"title",description:"description"})},locale:{type:String,default:"en"}},emits:["select","action","item-hover","item-leave"],setup(e,{emit:t}){const i=e,s=t,o=()=>{i.selectable&&s("select",i.item)},a=()=>{s("item-hover",i.item)},n=()=>{s("item-leave",i.item)};return(t,i)=>(openBlock(),createElementBlock("div",_hoisted_1$1,[createBaseVNode("span",{class:normalizeClass(["list-item__tag",{selected:e.isSelected}]),onClick:o,onMouseenter:a,onMouseleave:n},[e.selectable?(openBlock(),createElementBlock("input",{key:0,type:"checkbox",name:e.item.name,checked:e.isSelected,onClick:i[0]||(i[0]=withModifiers((()=>{}),["stop"]))},null,8,_hoisted_2$1)):createCommentVNode("",!0),createBaseVNode("span",_hoisted_3$1,[createBaseVNode("div",_hoisted_4$1,toDisplayString("zh"==e.locale?e.item.name_cn:e.item.name),1)])],34)]))}},SelectorList=_export_sfc(_sfc_main$1,[["__scopeId","data-v-c93b1734"]]),useGraphStore=defineStore("graphStore",{state:e=>({selectors:[],selectors_styles:{},seg_selectors:[],slider_controls:[]}),actions:{setSelectors(e){this.selectors=cloneDeep(e)},setStyles(e,t){this.selectors_styles[e]||(this.selectors_styles[e]=t)},setSegSelectors(e){this.seg_selectors=cloneDeep(e)},setSliderControls(e){this.slider_controls=cloneDeep(e)}}}),_hoisted_1={class:"easyuse-styles-selector"},_hoisted_2={class:"easyuse-styles-selector-header flex justify-between gap-2"},_hoisted_3={class:"flex align-center gap-1"},_hoisted_4={class:"flex-1"},_hoisted_5={key:0,class:"grid-container gap-2"},_hoisted_6={key:1,class:"list-container"},_hoisted_7={key:0,class:"easyuse-styles-selector-previewer"},_hoisted_8={class:"easyuse-styles-selector-previewer__text"},_hoisted_9=["src"],_hoisted_10={class:"title"},_hoisted_11={class:"easyuse-styles-selector-previewer__prompt"},_hoisted_12={key:0},_hoisted_13={class:"comfyui-easyuse-success"},_hoisted_14={key:1},_hoisted_15={class:"comfyui-easyuse-error"},_sfc_main={__name:"stylesSelector",props:mergeModels(["widget"],{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=useGraphStore(),{selectors_styles:i}=storeToRefs(t),s=ref(""),o=useModel(e,"modelValue");e.widget.inputSpec;const a=computed((e=>getSetting("Comfy.Locale")||"en")),n=ref(getSetting("EasyUse.StylesSelector.DisplayType")||"Gird"),l=ref([]),r=ref("");watch((e=>n.value),(e=>{setSetting("EasyUse.StylesSelector.DisplayType",e)}));const d=computed((()=>{if(!r.value.trim())return l.value;const e=o.value||[],t=r.value.toLowerCase(),i=[],s=[];return l.value.forEach((o=>{if(e.includes(o.name))i.push(o);else{const e="zh"===a.value&&o.name_cn?o.name_cn:o.name,i=o.prompt||"",n=o.negative_prompt||"";(e.toLowerCase().includes(t)||i.toLowerCase().includes(t)||n.toLowerCase().includes(t))&&s.push(o)}})),[...i,...s]})),c=reactive({name:"",positive:"",negative:"",src:""}),u=async e=>{if(i.value[e])return!0;const s=await api.fetchApi(`/easyuse/prompt/styles?name=${e}`);if(200===s.status){let i=(await s.json()).map(((e,t)=>(e.index=t,e)));return await t.setStyles(e,i),!0}return toast.error($t("Get styles list Failed")),!1},p=e=>{c.name="zh"==a.value&&e.name_cn?e.name_cn:e.name,c.src=e.thumbnailVariant&&"default"!=e.thumbnailVariant?e.thumbnail[0]:e.thumbnail,c.positive=e.prompt,c.negative=e.negative_prompt},A=()=>{c.name="",c.src="",c.positive="",c.negative=""},g=e=>{const t=o.value||[],a=cloneDeep(i.value[s.value]);l.value=[...a.sort(((e,t)=>e.index-t.index)).sort(((e,i)=>t.includes(i.name)-t.includes(e.name)))]},h=e=>(o.value||[]).includes(e.name),m=e=>{let t=[...o.value||[]];const i=e.name,s=t.findIndex((e=>e===i));s>-1?t.splice(s,1):t.push(i),o.value=t},f=()=>{o.value=[]};return onMounted((t=>{const i=getWidgetByName(e.widget.node,"styles");let o=i.value;s.value=o,u(o).then((e=>e&&g())),i.callback=e=>{s.value=e,f(),u(e).then((e=>e&&g()))}})),(t,i)=>(openBlock(),createElementBlock("div",_hoisted_1,[createBaseVNode("div",_hoisted_2,[createBaseVNode("div",_hoisted_3,[withDirectives(createVNode(unref(script),{icon:"pi pi-trash",severity:"secondary",outlined:"",size:"small",onClick:f},null,512),[[unref(Tooltip),unref($t)("Reset")]])]),createBaseVNode("div",_hoisted_4,[createVNode(unref(script$5),null,{default:withCtx((()=>[createVNode(unref(script$3),{class:"pi pi-search"}),createVNode(unref(script$4),{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=e=>r.value=e),placeholder:unref($t)("Search styles..."),class:"w-full"},null,8,["modelValue","placeholder"])])),_:1})]),createVNode(unref(script$6),{modelValue:n.value,"onUpdate:modelValue":i[1]||(i[1]=e=>n.value=e),options:["Gird","List"],"allow-empty":!1},{option:withCtx((({option:e})=>[createBaseVNode("i",{class:normalizeClass(["List"===e?"pi pi-bars":"pi pi-table"])},null,2)])),_:1},8,["modelValue"])]),createBaseVNode("div",{class:"easyuse-styles-selector-content",onMouseleave:i[2]||(i[2]=t=>g(e.widget.node.name))},["Gird"===n.value?(openBlock(),createElementBlock("div",_hoisted_5,[(openBlock(!0),createElementBlock(Fragment,null,renderList(d.value,((e,t)=>(openBlock(),createBlock(SelectorCard,{key:`${e.name}-${t}`,item:e,"unique-key":"name",locale:a.value,selectable:!0,"is-selected":h(e),"show-description":!0,"preview-enabled":!0,onSelect:m,onItemHover:p,onItemLeave:A},null,8,["item","locale","is-selected"])))),128))])):(openBlock(),createElementBlock("div",_hoisted_6,[(openBlock(!0),createElementBlock(Fragment,null,renderList(d.value,((e,t)=>(openBlock(),createBlock(SelectorList,{key:`${e.name}-${t}`,item:e,"unique-key":"name",locale:a.value,selectable:!0,"is-selected":h(e),"show-description":!0,onSelect:m,onItemHover:p,onItemLeave:A},null,8,["item","locale","is-selected"])))),128))]))],32),(null==c?void 0:c.positive)||(null==c?void 0:c.negative)?(openBlock(),createElementBlock("div",_hoisted_7,[createBaseVNode("div",_hoisted_8,[createBaseVNode("img",{src:c.src,alt:"",style:{width:"100%",height:"auto","object-fit":"contain","border-radius":"6px"}},null,8,_hoisted_9),createBaseVNode("span",_hoisted_10,toDisplayString(c.name),1),createBaseVNode("div",_hoisted_11,[c.positive?(openBlock(),createElementBlock("h6",_hoisted_12,[createBaseVNode("span",_hoisted_13,toDisplayString(unref($t)("Positive"))+":",1),createBaseVNode("span",null,toDisplayString(c.positive),1)])):createCommentVNode("",!0),c.negative?(openBlock(),createElementBlock("h6",_hoisted_14,[createBaseVNode("span",_hoisted_15,toDisplayString(unref($t)("Negative"))+":",1),createBaseVNode("span",null,toDisplayString(c.negative),1)])):createCommentVNode("",!0)])])])):createCommentVNode("",!0)]))}};app$1.registerExtension({name:"Comfy.EasyUse.CustomWidget",getCustomWidgets:e=>({EASY_PROMPT_AWAIT_BAR:(e,t,i,s)=>{const o=ref({select:"now",unlock:!0,last_seed:0,seed:0}),a=new ComponentWidgetImpl({node:e,name:t,component:_sfc_main$8,inputSpec:{type:"custom",name:t},options:{getValue:()=>o.value,setValue:e=>{e&&(o.value=e)}}});return e.addCustomWidget(a),e.onRemoved=useChainCallback(e.onRemoved,(()=>{var e;null==(e=a.onRemove)||e.call(a)})),e.onResize=useChainCallback(e.onResize,(()=>{var t,i;null==(t=a.options.beforeResize)||t.call(a,e),null==(i=a.options.afterResize)||i.call(a,e)})),useDomWidgetStore().registerWidget(a),a},EASY_COMBO:(e,t,i,s)=>{const o=ref([]),a={type:"custom",name:t,options:null==i?void 0:i[1].options,multi_select:null==i?void 0:i[1].multi_select},n=!!["obsidian","obsidian_dark","milk_white"].includes(getSetting("Comfy.ColorPalette"))?22:26,l=new ComponentWidgetImpl({node:e,name:t,component:_sfc_main$7,inputSpec:a,options:{margin:0,getMinHeight:()=>n,getMaxHeight:()=>n,getValue:()=>o.value,setValue:e=>{e&&(Array.isArray(e)?o.value=e:o.value=e.split(",").map((e=>parseInt(e))))}}});return e.addCustomWidget(l),e.onRemoved=useChainCallback(e.onRemoved,(()=>{var e;null==(e=l.onRemove)||e.call(l)})),e.onResize=useChainCallback(e.onResize,(()=>{var t,i;null==(t=l.options.beforeResize)||t.call(l,e),null==(i=l.options.afterResize)||i.call(l,e)})),useDomWidgetStore().registerWidget(l),l},EASY_PROMPT_STYLES:(e,t,i,s)=>{const o=ref([]),a=new ComponentWidgetImpl({node:e,name:t,component:_sfc_main,inputSpec:{type:"custom",name:t},options:{margin:0,getMinHeight:()=>180,getMaxHeight:()=>e.size[1]-75,getValue:()=>o.value,setValue:e=>{e&&(Array.isArray(e)?o.value=e:o.value=e.split(","))}}});return e.addCustomWidget(a),e.onRemoved=useChainCallback(e.onRemoved,(()=>{var e;null==(e=a.onRemove)||e.call(a)})),e.onResize=useChainCallback(e.onResize,(()=>{var t,i;null==(t=a.options.beforeResize)||t.call(a,e),null==(i=a.options.afterResize)||i.call(a,e)})),useDomWidgetStore().registerWidget(a),a}})});export{$t as $,NODE_MODE as N,_export_sfc as _,app$1 as a,useNodesStore as b,getSetting as c,cleanVRAM as d,isComponentWidget as e,useDomWidgetStore as f,getWidgetByName as g,useChainCallback as h,isDOMWidget as i,jumpToNodeId as j,NODES_MAP_ID as k,api as l,getSettingsLookup as m,sleep as s,toast as t,useGraphStore as u}; diff --git a/web_version/v2/assets/primevue-q3lWDayI.js b/web_version/v2/assets/primevue-CkFdRR_N.js similarity index 78% rename from web_version/v2/assets/primevue-q3lWDayI.js rename to web_version/v2/assets/primevue-CkFdRR_N.js index 527eb15..e6c2f5f 100644 --- a/web_version/v2/assets/primevue-q3lWDayI.js +++ b/web_version/v2/assets/primevue-CkFdRR_N.js @@ -1 +1 @@ -import{r as e,h as t,i as n,o,n as i,j as r,k as l,a,c as u,b as s,l as c}from"./vue-CYk3Qk0T.js";import{s as d,a as v,i as f,b as m,r as p,c as h,m as g,d as y,e as b,u as C,f as S,t as $,g as w,h as P,j as O,k as T,l as _,n as j,E as L,o as x,p as N,q as V,v as k,w as M,x as D,y as E}from"./primeuix-DTi4O4TO.js";var A={_loadedStyleNames:new Set,getLoadedStyleNames:function(){return this._loadedStyleNames},isStyleNameLoaded:function(e){return this._loadedStyleNames.has(e)},setLoadedStyleName:function(e){this._loadedStyleNames.add(e)},deleteLoadedStyleName:function(e){this._loadedStyleNames.delete(e)},clearLoadedStyleNames:function(){this._loadedStyleNames.clear()}};function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function F(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},u=e(!1),s=e(l),c=e(null),p=m()?window.document:void 0,h=a.document,g=void 0===h?p:h,y=a.immediate,b=void 0===y||y,C=a.manual,S=void 0!==C&&C,$=a.name,w=void 0===$?"style_".concat(++R):$,P=a.id,O=void 0===P?void 0:P,T=a.media,_=void 0===T?void 0:T,j=a.nonce,L=void 0===j?void 0:j,x=a.first,N=void 0!==x&&x,V=a.onMounted,k=void 0===V?void 0:V,M=a.onUpdated,D=void 0===M?void 0:M,E=a.onLoad,A=void 0===E?void 0:E,I=a.props,B=void 0===I?{}:I,U=function(){},z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(g){var n=F(F({},B),t),o=n.name||w,i=n.id||O,a=n.nonce||L;c.value=g.querySelector('style[data-primevue-style-id="'.concat(o,'"]'))||g.getElementById(i)||g.createElement("style"),c.value.isConnected||(s.value=e||l,d(c.value,{type:"text/css",id:i,media:_,nonce:a}),N?g.head.prepend(c.value):g.head.appendChild(c.value),v(c.value,"data-primevue-style-id",o),d(c.value,n),c.value.onload=function(e){return null==A?void 0:A(e,{name:o})},null==k||k(o)),u.value||(U=r(s,(function(e){c.value.textContent=e,null==D||D(o)}),{immediate:!0}),u.value=!0)}};return b&&!S&&function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];n()?o(e):t?e():i(e)}(z),{id:O,name:w,el:c,css:s,unload:function(){g&&u.value&&(U(),f(c.value)&&g.head.removeChild(c.value),u.value=!1)},load:z,isLoaded:t(u)}}function W(e){return(W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Z(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,i,r,l,a=[],u=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t);else for(;!(u=(o=r.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(c){s=!0,i=c}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e){return e})(p(e,{dt:b}));return h(n)?z(g(n),q({name:this.name},t)):{}},loadCSS:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.load(this.css,e)},loadTheme:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.load(this.theme,t,(function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return y.transformCSS(t.name||e.name,"".concat(o).concat(n))}))},getCommonTheme:function(e){return y.getCommon(this.name,e)},getComponentTheme:function(e){return y.getComponent(this.name,e)},getDirectiveTheme:function(e){return y.getDirective(this.name,e)},getPresetTheme:function(e,t,n){return y.getCustomPreset(this.name,e,t,n)},getLayerOrderThemeCSS:function(){return y.getLayerOrderCSS(this.name)},getStyleSheet:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.css){var n=p(this.css,{dt:b})||"",o=g("".concat(n).concat(e)),i=Object.entries(t).reduce((function(e,t){var n=Z(t,2),o=n[0],i=n[1];return e.push("".concat(o,'="').concat(i,'"'))&&e}),[]).join(" ");return h(o)?'"):""}return""},getCommonThemeStyleSheet:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return y.getCommonStyleSheet(this.name,e,t)},getThemeStyleSheet:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[y.getStyleSheet(this.name,e,t)];if(this.theme){var o="base"===this.name?"global-style":"".concat(this.name,"-style"),i=p(this.theme,{dt:b}),r=g(y.transformCSS(o,i)),l=Object.entries(t).reduce((function(e,t){var n=Z(t,2),o=n[0],i=n[1];return e.push("".concat(o,'="').concat(i,'"'))&&e}),[]).join(" ");h(r)&&n.push('"))}return n.join("")},extend:function(e){return q(q({},this),{},{css:void 0,theme:void 0},e)}},K=J.extend({name:"common"});function Q(e){return(Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function X(e){return ie(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ne(e)||te()}function ee(e,t){return ie(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,i,r,l,a=[],u=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=r.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(c){s=!0,i=c}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return a}}(e,t)||ne(e,t)||te()}function te(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ne(e,t){if(e){if("string"==typeof e)return oe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oe(e,t):void 0}}function oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n1?t-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:function(){};A.clearLoadedStyleNames(),P.on("theme:change",e)},_getHostInstance:function(e){return e?this.$options.hostName?e.$.type.name===this.$options.hostName?e:this._getHostInstance(e.$parentInstance):e.$parentInstance:void 0},_getPropValue:function(e){var t;return this[e]||(null===(t=this._getHostInstance(this))||void 0===t?void 0:t[e])},_getOptionValue:function(e){return O(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})},_getPTValue:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=/./g.test(n)&&!!o[n.split(".")[0]],l=this._getPropValue("ptOptions")||(null===(e=this.$primevueConfig)||void 0===e?void 0:e.ptOptions)||{},a=l.mergeSections,u=void 0===a||a,s=l.mergeProps,c=void 0!==s&&s,d=i?r?this._useGlobalPT(this._getPTClassValue,n,o):this._useDefaultPT(this._getPTClassValue,n,o):void 0,v=r?void 0:this._getPTSelf(t,this._getPTClassValue,n,le(le({},o),{},{global:d||{}})),f=this._getPTDatasets(n);return u||!u&&v?c?this._mergeProps(c,d,v,f):le(le(le({},d),v),f):le(le({},v),f)},_getPTSelf:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,n=new Array(t>1?t-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:"",o="data-pc-",i="root"===n&&h(null===(e=this.pt)||void 0===e?void 0:e["data-pc-section"]);return"transition"!==n&&le(le({},"root"===n&&le(le(ae({},"".concat(o,"name"),$(i?null===(t=this.pt)||void 0===t?void 0:t["data-pc-section"]:this.$.type.name)),i&&ae({},"".concat(o,"extend"),$(this.$.type.name))),m()&&ae({},"".concat(this.$attrSelector),""))),{},ae({},"".concat(o,"section"),$(n)))},_getPTClassValue:function(){var e=this._getOptionValue.apply(this,arguments);return T(e)||_(e)?{class:e}:e},_getPT:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2?arguments[2]:void 0,i=function(e){var i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=o?o(e):e,a=$(n),u=$(t.$name);return null!==(i=r?a!==u?null==l?void 0:l[a]:void 0:null==l?void 0:l[a])&&void 0!==i?i:l};return null!=e&&e.hasOwnProperty("_usept")?{_usept:e._usept,originalValue:i(e.originalValue),value:i(e.value)}:i(e,!0)},_usePT:function(e,t,n,o){var i=function(e){return t(e,n,o)};if(null!=e&&e.hasOwnProperty("_usept")){var r,l=e._usept||(null===(r=this.$primevueConfig)||void 0===r?void 0:r.ptOptions)||{},a=l.mergeSections,u=void 0===a||a,s=l.mergeProps,c=void 0!==s&&s,d=i(e.originalValue),v=i(e.value);if(void 0===d&&void 0===v)return;return T(v)?v:T(d)?d:u||!u&&v?c?this._mergeProps(c,d,v):le(le({},d),v):v}return i(e)},_useGlobalPT:function(e,t,n){return this._usePT(this.globalPT,e,t,n)},_useDefaultPT:function(e,t,n){return this._usePT(this.defaultPT,e,t,n)},ptm:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._getPTValue(this.pt,e,le(le({},this.$params),t))},ptmi:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return l(this.$_attrsWithoutPT,this.ptm(e,t))},ptmo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._getPTValue(e,t,le({instance:this},n),!1)},cx:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.isUnstyled?void 0:this._getOptionValue(this.$style.classes,e,le(le({},this.$params),t))},sx:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var n=this._getOptionValue(this.$style.inlineStyles,e,le(le({},this.$params),t));return[this._getOptionValue(K.inlineStyles,e,le(le({},this.$params),t)),n]}}},computed:{globalPT:function(){var e,t=this;return this._getPT(null===(e=this.$primevueConfig)||void 0===e?void 0:e.pt,void 0,(function(e){return p(e,{instance:t})}))},defaultPT:function(){var e,t=this;return this._getPT(null===(e=this.$primevueConfig)||void 0===e?void 0:e.pt,void 0,(function(e){return t._getOptionValue(e,t.$name,le({},t.$params))||p(e,le({},t.$params))}))},isUnstyled:function(){var e;return void 0!==this.unstyled?this.unstyled:null===(e=this.$primevueConfig)||void 0===e?void 0:e.unstyled},$inProps:function(){var e,t=Object.keys((null===(e=this.$.vnode)||void 0===e?void 0:e.props)||{});return Object.fromEntries(Object.entries(this.$props).filter((function(e){var n=ee(e,1)[0];return null==t?void 0:t.includes(n)})))},$theme:function(){var e;return null===(e=this.$primevueConfig)||void 0===e?void 0:e.theme},$style:function(){return le(le({classes:void 0,inlineStyles:void 0,load:function(){},loadCSS:function(){},loadTheme:function(){}},(this._getHostInstance(this)||{}).$style),this.$options.style)},$styleOptions:function(){var e;return{nonce:null===(e=this.$primevueConfig)||void 0===e||null===(e=e.csp)||void 0===e?void 0:e.nonce}},$primevueConfig:function(){var e;return null===(e=this.$primevue)||void 0===e?void 0:e.config},$name:function(){return this.$options.hostName||this.$.type.name},$params:function(){var e=this._getHostInstance(this)||this.$parent;return{instance:this,props:this.$props,state:this.$data,attrs:this.$attrs,parent:{instance:e,props:null==e?void 0:e.$props,state:null==e?void 0:e.$data,attrs:null==e?void 0:e.$attrs}}},$_attrsPT:function(){return Object.entries(this.$attrs||{}).filter((function(e){var t=ee(e,1)[0];return null==t?void 0:t.startsWith("pt:")})).reduce((function(e,t){var n=ee(t,2),o=n[0],i=n[1],r=X(o.split(":")).slice(1);return null==r||r.reduce((function(e,t,n,o){return!e[t]&&(e[t]=n===o.length-1?i:{}),e[t]}),e),e}),{})},$_attrsWithoutPT:function(){return Object.entries(this.$attrs||{}).filter((function(e){var t=ee(e,1)[0];return!(null!=t&&t.startsWith("pt:"))})).reduce((function(e,t){var n=ee(t,2),o=n[0],i=n[1];return e[o]=i,e}),{})}}},se=J.extend({name:"baseicon",css:"\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n"});function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function de(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ve(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=function(){var e=we._getOptionValue.apply(we,arguments);return T(e)||_(e)?{class:e}:e},u=(null===(e=n.binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.ptOptions)||(null===(t=n.$primevueConfig)||void 0===t?void 0:t.ptOptions)||{},s=u.mergeSections,c=void 0===s||s,d=u.mergeProps,v=void 0!==d&&d,f=l?we._useDefaultPT(n,n.defaultPT(),a,i,r):void 0,m=we._usePT(n,we._getPT(o,n.$name),a,i,Se(Se({},r),{},{global:f||{}})),p=we._getPTDatasets(n,i);return c||!c&&m?v?we._mergeProps(n,v,f,m,p):Se(Se(Se({},f),m),p):Se(Se({},m),p)},_getPTDatasets:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n="data-pc-";return Se(Se({},"root"===t&&$e({},"".concat(n,"name"),$(e.$name))),{},$e({},"".concat(n,"section"),$(t)))},_getPT:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,o=function(e){var o,i=n?n(e):e,r=$(t);return null!==(o=null==i?void 0:i[r])&&void 0!==o?o:i};return null!=e&&e.hasOwnProperty("_usept")?{_usept:e._usept,originalValue:o(e.originalValue),value:o(e.value)}:o(e)},_usePT:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,r=function(e){return n(e,o,i)};if(null!=t&&t.hasOwnProperty("_usept")){var l,a=t._usept||(null===(l=e.$primevueConfig)||void 0===l?void 0:l.ptOptions)||{},u=a.mergeSections,s=void 0===u||u,c=a.mergeProps,d=void 0!==c&&c,v=r(t.originalValue),f=r(t.value);if(void 0===v&&void 0===f)return;return T(f)?f:T(v)?v:s||!s&&f?d?we._mergeProps(e,d,v,f):Se(Se({},v),f):f}return r(t)},_useDefaultPT:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return we._usePT(e,t,n,o,i)},_loadStyles:function(e,t,n){var o,i=we._getConfig(t,n),r={nonce:null==i||null===(o=i.csp)||void 0===o?void 0:o.nonce};we._loadCoreStyles(e.$instance,r),we._loadThemeStyles(e.$instance,r),we._loadScopedThemeStyles(e.$instance,r),we._themeChangeListener((function(){return we._loadThemeStyles(e.$instance,r)}))},_loadCoreStyles:function(){var e,t,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;!A.isStyleNameLoaded(null===(e=o.$style)||void 0===e?void 0:e.name)&&null!==(t=o.$style)&&void 0!==t&&t.name&&(J.loadCSS(i),null===(n=o.$style)||void 0===n||n.loadCSS(i),A.setLoadedStyleName(o.$style.name))},_loadThemeStyles:function(){var e,t,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if(!(null!=o&&o.isUnstyled()||"none"===(null==o||null===(e=o.theme)||void 0===e?void 0:e.call(o)))){if(!y.isStyleNameLoaded("common")){var r,l,a=(null===(r=o.$style)||void 0===r||null===(l=r.getCommonTheme)||void 0===l?void 0:l.call(r))||{},u=a.primitive,s=a.semantic,c=a.global,d=a.style;J.load(null==u?void 0:u.css,Se({name:"primitive-variables"},i)),J.load(null==s?void 0:s.css,Se({name:"semantic-variables"},i)),J.load(null==c?void 0:c.css,Se({name:"global-variables"},i)),J.loadTheme(Se({name:"global-style"},i),d),y.setLoadedStyleName("common")}if(!y.isStyleNameLoaded(null===(t=o.$style)||void 0===t?void 0:t.name)&&null!==(n=o.$style)&&void 0!==n&&n.name){var v,f,m,p,h=(null===(v=o.$style)||void 0===v||null===(f=v.getDirectiveTheme)||void 0===f?void 0:f.call(v))||{},g=h.css,b=h.style;null===(m=o.$style)||void 0===m||m.load(g,Se({name:"".concat(o.$style.name,"-variables")},i)),null===(p=o.$style)||void 0===p||p.loadTheme(Se({name:"".concat(o.$style.name,"-style")},i),b),y.setLoadedStyleName(o.$style.name)}if(!y.isStyleNameLoaded("layer-order")){var C,S,$=null===(C=o.$style)||void 0===C||null===(S=C.getLayerOrderThemeCSS)||void 0===S?void 0:S.call(C);J.load($,Se({name:"layer-order",first:!0},i)),y.setLoadedStyleName("layer-order")}}},_loadScopedThemeStyles:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.preset();if(n&&e.$attrSelector){var o,i,r,l=((null===(o=e.$style)||void 0===o||null===(i=o.getPresetTheme)||void 0===i?void 0:i.call(o,n,"[".concat(e.$attrSelector,"]")))||{}).css,a=null===(r=e.$style)||void 0===r?void 0:r.load(l,Se({name:"".concat(e.$attrSelector,"-").concat(e.$style.name)},t));e.scopedStyleEl=a.el}},_themeChangeListener:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};A.clearLoadedStyleNames(),P.on("theme:change",e)},_hook:function(e,t,n,o,i,r){var l,a,u="on".concat(N(t)),s=we._getConfig(o,i),c=null==n?void 0:n.$instance,d=we._usePT(c,we._getPT(null==o||null===(l=o.value)||void 0===l?void 0:l.pt,e),we._getOptionValue,"hooks.".concat(u)),v=we._useDefaultPT(c,null==s||null===(a=s.pt)||void 0===a||null===(a=a.directives)||void 0===a?void 0:a[e],we._getOptionValue,"hooks.".concat(u)),f={el:n,binding:o,vnode:i,prevVnode:r};null==d||d(c,f),null==v||v(c,f)},_mergeProps:function(){for(var e=arguments.length>1?arguments[1]:void 0,t=arguments.length,n=new Array(t>2?t-2:0),o=2;o1&&void 0!==arguments[1]?arguments[1]:{},n=function(n,o,i,r,l){var a,u,s,c;o._$instances=o._$instances||{};var d=we._getConfig(i,r),v=o._$instances[e]||{},f=j(v)?Se(Se({},t),null==t?void 0:t.methods):{};o._$instances[e]=Se(Se({},v),{},{$name:e,$host:o,$binding:i,$modifiers:null==i?void 0:i.modifiers,$value:null==i?void 0:i.value,$el:v.$el||o||void 0,$style:Se({classes:void 0,inlineStyles:void 0,load:function(){},loadCSS:function(){},loadTheme:function(){}},null==t?void 0:t.style),$primevueConfig:d,$attrSelector:null===(a=o.$pd)||void 0===a||null===(a=a[e])||void 0===a?void 0:a.attrSelector,defaultPT:function(){return we._getPT(null==d?void 0:d.pt,void 0,(function(t){var n;return null==t||null===(n=t.directives)||void 0===n?void 0:n[e]}))},isUnstyled:function(){var e,t;return void 0!==(null===(e=o.$instance)||void 0===e||null===(e=e.$binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.unstyled)?null===(t=o.$instance)||void 0===t||null===(t=t.$binding)||void 0===t||null===(t=t.value)||void 0===t?void 0:t.unstyled:null==d?void 0:d.unstyled},theme:function(){var e;return null===(e=o.$instance)||void 0===e||null===(e=e.$primevueConfig)||void 0===e?void 0:e.theme},preset:function(){var e;return null===(e=o.$instance)||void 0===e||null===(e=e.$binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.dt},ptm:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return we._getPTValue(o.$instance,null===(e=o.$instance)||void 0===e||null===(e=e.$binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.pt,t,Se({},n))},ptmo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return we._getPTValue(o.$instance,e,t,n,!1)},cx:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return null!==(e=o.$instance)&&void 0!==e&&e.isUnstyled()?void 0:we._getOptionValue(null===(t=o.$instance)||void 0===t||null===(t=t.$style)||void 0===t?void 0:t.classes,n,Se({},i))},sx:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?we._getOptionValue(null===(e=o.$instance)||void 0===e||null===(e=e.$style)||void 0===e?void 0:e.inlineStyles,t,Se({},n)):void 0}},f),o.$instance=o._$instances[e],null===(u=(s=o.$instance)[n])||void 0===u||u.call(s,o,i,r,l),o["$".concat(e)]=o.$instance,we._hook(e,n,o,i,r,l),o.$pd||(o.$pd={}),o.$pd[e]=Se(Se({},null===(c=o.$pd)||void 0===c?void 0:c[e]),{},{name:e,instance:o.$instance})};return{created:function(t,o,i,r){t.$pd||(t.$pd={}),t.$pd[e]={name:e,attrSelector:C("pd")},n("created",t,o,i,r)},beforeMount:function(e,t,o,i){we._loadStyles(e,t,o),n("beforeMount",e,t,o,i),function(e){var t,n,o,i,r,l=null===(t=e.$instance)||void 0===t?void 0:t.watch;null==l||null===(n=l.config)||void 0===n||n.call(e.$instance,null===(o=e.$instance)||void 0===o?void 0:o.$primevueConfig),he.on("config:change",(function(t){var n,o=t.newValue,i=t.oldValue;return null==l||null===(n=l.config)||void 0===n?void 0:n.call(e.$instance,o,i)})),null==l||null===(i=l["config.ripple"])||void 0===i||i.call(e.$instance,null===(r=e.$instance)||void 0===r||null===(r=r.$primevueConfig)||void 0===r?void 0:r.ripple),he.on("config:ripple:change",(function(t){var n,o=t.newValue,i=t.oldValue;return null==l||null===(n=l["config.ripple"])||void 0===n?void 0:n.call(e.$instance,o,i)}))}(e)},mounted:function(e,t,o,i){we._loadStyles(e,t,o),n("mounted",e,t,o,i)},beforeUpdate:function(e,t,o,i){n("beforeUpdate",e,t,o,i)},updated:function(e,t,o,i){we._loadStyles(e,t,o),n("updated",e,t,o,i)},beforeUnmount:function(e,t,o,i){n("beforeUnmount",e,t,o,i)},unmounted:function(e,t,o,i){var r;null===(r=e.$instance)||void 0===r||null===(r=r.scopedStyleEl)||void 0===r||null===(r=r.value)||void 0===r||r.remove(),n("unmounted",e,t,o,i)}}},extend:function(){var e=ye(we._getMeta.apply(we,arguments),2),t=e[0],n=e[1];return Se({extend:function(){var e=ye(we._getMeta.apply(we,arguments),2),t=e[0],o=e[1];return we.extend(t,Se(Se(Se({},n),null==n?void 0:n.methods),o))}},we._extend(t,n))}},Pe="startsWith",Oe="contains",Te="notContains",_e="endsWith",je="equals",Le="notEquals",xe="lt",Ne="lte",Ve="gt",ke="gte",Me="dateIs",De="dateIsNot",Ee="dateBefore",Ae="dateAfter";function Ie(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Be(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Be(e,t):void 0}}(e))||t){n&&(e=n);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,l=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){a=!0,r=e},f:function(){try{l||null==n.return||n.return()}finally{if(a)throw r}}}}function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);nt.getTime():e>t)},gte:function(e,t){return null==t||null!=e&&(e.getTime&&t.getTime?e.getTime()>=t.getTime():e>=t)},dateIs:function(e,t){return null==t||null!=e&&e.toDateString()===t.toDateString()},dateIsNot:function(e,t){return null==t||null!=e&&e.toDateString()!==t.toDateString()},dateBefore:function(e,t){return null==t||null!=e&&e.getTime()t.getTime()}},register:function(e,t){this.filters[e]=t}};function Ue(e){return(Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Re(e,t,n){return t&&function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:function(){};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.element=t,this.listener=n}),[{key:"bindScrollListener",value:function(){this.scrollableParents=D(this.element);for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:"pv_id_")}var He={name:"BlankIcon",extends:me};He.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("rect",{width:"1",height:"1",fill:"currentColor","fill-opacity":"0"},null,-1)]),16)};var Ye={name:"CheckIcon",extends:me};Ye.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z",fill:"currentColor"},null,-1)]),16)};var qe={name:"ChevronDownIcon",extends:me};qe.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z",fill:"currentColor"},null,-1)]),16)};var Ge={name:"SearchIcon",extends:me};Ge.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z",fill:"currentColor"},null,-1)]),16)};var Je={name:"TimesIcon",extends:me};Je.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z",fill:"currentColor"},null,-1)]),16)};var Ke={name:"BaseInput",extends:{name:"BaseEditableHolder",extends:ue,emits:["update:modelValue","value-change"],props:{modelValue:{type:null,default:void 0},defaultValue:{type:null,default:void 0},name:{type:String,default:void 0},invalid:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},formControl:{type:Object,default:void 0}},inject:{$parentInstance:{default:void 0},$pcForm:{default:void 0},$pcFormField:{default:void 0}},data:function(){return{d_value:this.defaultValue||this.modelValue}},watch:{modelValue:function(e){this.d_value=e},defaultValue:function(e){this.d_value=e},$formName:{immediate:!0,handler:function(e){var t,n;this.formField=(null===(t=this.$pcForm)||void 0===t||null===(n=t.register)||void 0===n?void 0:n.call(t,e,this.$formControl))||{}}},$formControl:{immediate:!0,handler:function(e){var t,n;this.formField=(null===(t=this.$pcForm)||void 0===t||null===(n=t.register)||void 0===n?void 0:n.call(t,this.$formName,e))||{}}},$formDefaultValue:{immediate:!0,handler:function(e){this.d_value!==e&&(this.d_value=e)}}},formField:{},methods:{writeValue:function(e,t){var n,o;this.controlled&&(this.d_value=e,this.$emit("update:modelValue",e)),this.$emit("value-change",e),null===(n=(o=this.formField).onChange)||void 0===n||n.call(o,{originalEvent:t,value:e})}},computed:{$filled:function(){return h(this.d_value)},$invalid:function(){var e,t,n,o;return null!==(e=null!==(t=this.invalid)&&void 0!==t?t:null===(n=this.$pcFormField)||void 0===n||null===(n=n.$field)||void 0===n?void 0:n.invalid)&&void 0!==e?e:null===(o=this.$pcForm)||void 0===o||null===(o=o.states)||void 0===o||null===(o=o[this.$formName])||void 0===o?void 0:o.invalid},$formName:function(){var e;return this.name||(null===(e=this.$formControl)||void 0===e?void 0:e.name)},$formControl:function(){var e;return this.formControl||(null===(e=this.$pcFormField)||void 0===e?void 0:e.formControl)},$formDefaultValue:function(){var e,t,n,o;return null!==(e=null!==(t=this.d_value)&&void 0!==t?t:null===(n=this.$pcFormField)||void 0===n?void 0:n.initialValue)&&void 0!==e?e:null===(o=this.$pcForm)||void 0===o||null===(o=o.initialValues)||void 0===o?void 0:o[this.$formName]},controlled:function(){return this.$inProps.hasOwnProperty("modelValue")||!this.$inProps.hasOwnProperty("modelValue")&&!this.$inProps.hasOwnProperty("defaultValue")},filled:function(){return this.$filled}}},props:{size:{type:String,default:null},fluid:{type:Boolean,default:null},variant:{type:String,default:null}},inject:{$parentInstance:{default:void 0},$pcFluid:{default:void 0}},computed:{$variant:function(){var e;return null!==(e=this.variant)&&void 0!==e?e:this.$primevue.config.inputStyle||this.$primevue.config.inputVariant},$fluid:function(){var e;return null!==(e=this.fluid)&&void 0!==e?e:!!this.$pcFluid},hasFluid:function(){return this.$fluid}}},Qe={name:"MinusIcon",extends:me};Qe.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z",fill:"currentColor"},null,-1)]),16)};var Xe={name:"TimesCircleIcon",extends:me};Xe.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z",fill:"currentColor"},null,-1)]),16)};var et={name:"AngleRightIcon",extends:me};function tt(e){return(tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ot(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},u=e(!1),s=e(l),c=e(null),p=m()?window.document:void 0,h=a.document,g=void 0===h?p:h,y=a.immediate,b=void 0===y||y,C=a.manual,S=void 0!==C&&C,$=a.name,w=void 0===$?"style_".concat(++R):$,P=a.id,O=void 0===P?void 0:P,T=a.media,_=void 0===T?void 0:T,j=a.nonce,L=void 0===j?void 0:j,x=a.first,N=void 0!==x&&x,V=a.onMounted,M=void 0===V?void 0:V,k=a.onUpdated,D=void 0===k?void 0:k,E=a.onLoad,A=void 0===E?void 0:E,I=a.props,B=void 0===I?{}:I,U=function(){},z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(g){var n=F(F({},B),t),o=n.name||w,i=n.id||O,a=n.nonce||L;c.value=g.querySelector('style[data-primevue-style-id="'.concat(o,'"]'))||g.getElementById(i)||g.createElement("style"),c.value.isConnected||(s.value=e||l,d(c.value,{type:"text/css",id:i,media:_,nonce:a}),N?g.head.prepend(c.value):g.head.appendChild(c.value),v(c.value,"data-primevue-style-id",o),d(c.value,n),c.value.onload=function(e){return null==A?void 0:A(e,{name:o})},null==M||M(o)),u.value||(U=r(s,(function(e){c.value.textContent=e,null==D||D(o)}),{immediate:!0}),u.value=!0)}};return b&&!S&&function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];n()?o(e):t?e():i(e)}(z),{id:O,name:w,el:c,css:s,unload:function(){g&&u.value&&(U(),f(c.value)&&g.head.removeChild(c.value),u.value=!1)},load:z,isLoaded:t(u)}}function W(e){return(W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Z(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,i,r,l,a=[],u=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t);else for(;!(u=(o=r.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(c){s=!0,i=c}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e){return e})(p(e,{dt:b}));return h(n)?z(g(n),q({name:this.name},t)):{}},loadCSS:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.load(this.css,e)},loadTheme:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.load(this.theme,t,(function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return y.transformCSS(t.name||e.name,"".concat(o).concat(n))}))},getCommonTheme:function(e){return y.getCommon(this.name,e)},getComponentTheme:function(e){return y.getComponent(this.name,e)},getDirectiveTheme:function(e){return y.getDirective(this.name,e)},getPresetTheme:function(e,t,n){return y.getCustomPreset(this.name,e,t,n)},getLayerOrderThemeCSS:function(){return y.getLayerOrderCSS(this.name)},getStyleSheet:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.css){var n=p(this.css,{dt:b})||"",o=g("".concat(n).concat(e)),i=Object.entries(t).reduce((function(e,t){var n=Z(t,2),o=n[0],i=n[1];return e.push("".concat(o,'="').concat(i,'"'))&&e}),[]).join(" ");return h(o)?'"):""}return""},getCommonThemeStyleSheet:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return y.getCommonStyleSheet(this.name,e,t)},getThemeStyleSheet:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[y.getStyleSheet(this.name,e,t)];if(this.theme){var o="base"===this.name?"global-style":"".concat(this.name,"-style"),i=p(this.theme,{dt:b}),r=g(y.transformCSS(o,i)),l=Object.entries(t).reduce((function(e,t){var n=Z(t,2),o=n[0],i=n[1];return e.push("".concat(o,'="').concat(i,'"'))&&e}),[]).join(" ");h(r)&&n.push('"))}return n.join("")},extend:function(e){return q(q({},this),{},{css:void 0,theme:void 0},e)}},K=J.extend({name:"common"});function Q(e){return(Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function X(e){return ie(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ne(e)||te()}function ee(e,t){return ie(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,i,r,l,a=[],u=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=r.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(c){s=!0,i=c}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return a}}(e,t)||ne(e,t)||te()}function te(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ne(e,t){if(e){if("string"==typeof e)return oe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oe(e,t):void 0}}function oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n1?t-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:function(){};A.clearLoadedStyleNames(),P.on("theme:change",e)},_getHostInstance:function(e){return e?this.$options.hostName?e.$.type.name===this.$options.hostName?e:this._getHostInstance(e.$parentInstance):e.$parentInstance:void 0},_getPropValue:function(e){var t;return this[e]||(null===(t=this._getHostInstance(this))||void 0===t?void 0:t[e])},_getOptionValue:function(e){return O(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})},_getPTValue:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=/./g.test(n)&&!!o[n.split(".")[0]],l=this._getPropValue("ptOptions")||(null===(e=this.$primevueConfig)||void 0===e?void 0:e.ptOptions)||{},a=l.mergeSections,u=void 0===a||a,s=l.mergeProps,c=void 0!==s&&s,d=i?r?this._useGlobalPT(this._getPTClassValue,n,o):this._useDefaultPT(this._getPTClassValue,n,o):void 0,v=r?void 0:this._getPTSelf(t,this._getPTClassValue,n,le(le({},o),{},{global:d||{}})),f=this._getPTDatasets(n);return u||!u&&v?c?this._mergeProps(c,d,v,f):le(le(le({},d),v),f):le(le({},v),f)},_getPTSelf:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,n=new Array(t>1?t-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:"",o="data-pc-",i="root"===n&&h(null===(e=this.pt)||void 0===e?void 0:e["data-pc-section"]);return"transition"!==n&&le(le({},"root"===n&&le(le(ae({},"".concat(o,"name"),$(i?null===(t=this.pt)||void 0===t?void 0:t["data-pc-section"]:this.$.type.name)),i&&ae({},"".concat(o,"extend"),$(this.$.type.name))),m()&&ae({},"".concat(this.$attrSelector),""))),{},ae({},"".concat(o,"section"),$(n)))},_getPTClassValue:function(){var e=this._getOptionValue.apply(this,arguments);return T(e)||_(e)?{class:e}:e},_getPT:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2?arguments[2]:void 0,i=function(e){var i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=o?o(e):e,a=$(n),u=$(t.$name);return null!==(i=r?a!==u?null==l?void 0:l[a]:void 0:null==l?void 0:l[a])&&void 0!==i?i:l};return null!=e&&e.hasOwnProperty("_usept")?{_usept:e._usept,originalValue:i(e.originalValue),value:i(e.value)}:i(e,!0)},_usePT:function(e,t,n,o){var i=function(e){return t(e,n,o)};if(null!=e&&e.hasOwnProperty("_usept")){var r,l=e._usept||(null===(r=this.$primevueConfig)||void 0===r?void 0:r.ptOptions)||{},a=l.mergeSections,u=void 0===a||a,s=l.mergeProps,c=void 0!==s&&s,d=i(e.originalValue),v=i(e.value);if(void 0===d&&void 0===v)return;return T(v)?v:T(d)?d:u||!u&&v?c?this._mergeProps(c,d,v):le(le({},d),v):v}return i(e)},_useGlobalPT:function(e,t,n){return this._usePT(this.globalPT,e,t,n)},_useDefaultPT:function(e,t,n){return this._usePT(this.defaultPT,e,t,n)},ptm:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._getPTValue(this.pt,e,le(le({},this.$params),t))},ptmi:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return l(this.$_attrsWithoutPT,this.ptm(e,t))},ptmo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._getPTValue(e,t,le({instance:this},n),!1)},cx:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.isUnstyled?void 0:this._getOptionValue(this.$style.classes,e,le(le({},this.$params),t))},sx:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var n=this._getOptionValue(this.$style.inlineStyles,e,le(le({},this.$params),t));return[this._getOptionValue(K.inlineStyles,e,le(le({},this.$params),t)),n]}}},computed:{globalPT:function(){var e,t=this;return this._getPT(null===(e=this.$primevueConfig)||void 0===e?void 0:e.pt,void 0,(function(e){return p(e,{instance:t})}))},defaultPT:function(){var e,t=this;return this._getPT(null===(e=this.$primevueConfig)||void 0===e?void 0:e.pt,void 0,(function(e){return t._getOptionValue(e,t.$name,le({},t.$params))||p(e,le({},t.$params))}))},isUnstyled:function(){var e;return void 0!==this.unstyled?this.unstyled:null===(e=this.$primevueConfig)||void 0===e?void 0:e.unstyled},$inProps:function(){var e,t=Object.keys((null===(e=this.$.vnode)||void 0===e?void 0:e.props)||{});return Object.fromEntries(Object.entries(this.$props).filter((function(e){var n=ee(e,1)[0];return null==t?void 0:t.includes(n)})))},$theme:function(){var e;return null===(e=this.$primevueConfig)||void 0===e?void 0:e.theme},$style:function(){return le(le({classes:void 0,inlineStyles:void 0,load:function(){},loadCSS:function(){},loadTheme:function(){}},(this._getHostInstance(this)||{}).$style),this.$options.style)},$styleOptions:function(){var e;return{nonce:null===(e=this.$primevueConfig)||void 0===e||null===(e=e.csp)||void 0===e?void 0:e.nonce}},$primevueConfig:function(){var e;return null===(e=this.$primevue)||void 0===e?void 0:e.config},$name:function(){return this.$options.hostName||this.$.type.name},$params:function(){var e=this._getHostInstance(this)||this.$parent;return{instance:this,props:this.$props,state:this.$data,attrs:this.$attrs,parent:{instance:e,props:null==e?void 0:e.$props,state:null==e?void 0:e.$data,attrs:null==e?void 0:e.$attrs}}},$_attrsPT:function(){return Object.entries(this.$attrs||{}).filter((function(e){var t=ee(e,1)[0];return null==t?void 0:t.startsWith("pt:")})).reduce((function(e,t){var n=ee(t,2),o=n[0],i=n[1],r=X(o.split(":")).slice(1);return null==r||r.reduce((function(e,t,n,o){return!e[t]&&(e[t]=n===o.length-1?i:{}),e[t]}),e),e}),{})},$_attrsWithoutPT:function(){return Object.entries(this.$attrs||{}).filter((function(e){var t=ee(e,1)[0];return!(null!=t&&t.startsWith("pt:"))})).reduce((function(e,t){var n=ee(t,2),o=n[0],i=n[1];return e[o]=i,e}),{})}}},se=J.extend({name:"baseicon",css:"\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n"});function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function de(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ve(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=function(){var e=we._getOptionValue.apply(we,arguments);return T(e)||_(e)?{class:e}:e},u=(null===(e=n.binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.ptOptions)||(null===(t=n.$primevueConfig)||void 0===t?void 0:t.ptOptions)||{},s=u.mergeSections,c=void 0===s||s,d=u.mergeProps,v=void 0!==d&&d,f=l?we._useDefaultPT(n,n.defaultPT(),a,i,r):void 0,m=we._usePT(n,we._getPT(o,n.$name),a,i,Se(Se({},r),{},{global:f||{}})),p=we._getPTDatasets(n,i);return c||!c&&m?v?we._mergeProps(n,v,f,m,p):Se(Se(Se({},f),m),p):Se(Se({},m),p)},_getPTDatasets:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n="data-pc-";return Se(Se({},"root"===t&&$e({},"".concat(n,"name"),$(e.$name))),{},$e({},"".concat(n,"section"),$(t)))},_getPT:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,o=function(e){var o,i=n?n(e):e,r=$(t);return null!==(o=null==i?void 0:i[r])&&void 0!==o?o:i};return null!=e&&e.hasOwnProperty("_usept")?{_usept:e._usept,originalValue:o(e.originalValue),value:o(e.value)}:o(e)},_usePT:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,r=function(e){return n(e,o,i)};if(null!=t&&t.hasOwnProperty("_usept")){var l,a=t._usept||(null===(l=e.$primevueConfig)||void 0===l?void 0:l.ptOptions)||{},u=a.mergeSections,s=void 0===u||u,c=a.mergeProps,d=void 0!==c&&c,v=r(t.originalValue),f=r(t.value);if(void 0===v&&void 0===f)return;return T(f)?f:T(v)?v:s||!s&&f?d?we._mergeProps(e,d,v,f):Se(Se({},v),f):f}return r(t)},_useDefaultPT:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return we._usePT(e,t,n,o,i)},_loadStyles:function(e,t,n){var o,i=we._getConfig(t,n),r={nonce:null==i||null===(o=i.csp)||void 0===o?void 0:o.nonce};we._loadCoreStyles(e.$instance,r),we._loadThemeStyles(e.$instance,r),we._loadScopedThemeStyles(e.$instance,r),we._themeChangeListener((function(){return we._loadThemeStyles(e.$instance,r)}))},_loadCoreStyles:function(){var e,t,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;!A.isStyleNameLoaded(null===(e=o.$style)||void 0===e?void 0:e.name)&&null!==(t=o.$style)&&void 0!==t&&t.name&&(J.loadCSS(i),null===(n=o.$style)||void 0===n||n.loadCSS(i),A.setLoadedStyleName(o.$style.name))},_loadThemeStyles:function(){var e,t,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if(!(null!=o&&o.isUnstyled()||"none"===(null==o||null===(e=o.theme)||void 0===e?void 0:e.call(o)))){if(!y.isStyleNameLoaded("common")){var r,l,a=(null===(r=o.$style)||void 0===r||null===(l=r.getCommonTheme)||void 0===l?void 0:l.call(r))||{},u=a.primitive,s=a.semantic,c=a.global,d=a.style;J.load(null==u?void 0:u.css,Se({name:"primitive-variables"},i)),J.load(null==s?void 0:s.css,Se({name:"semantic-variables"},i)),J.load(null==c?void 0:c.css,Se({name:"global-variables"},i)),J.loadTheme(Se({name:"global-style"},i),d),y.setLoadedStyleName("common")}if(!y.isStyleNameLoaded(null===(t=o.$style)||void 0===t?void 0:t.name)&&null!==(n=o.$style)&&void 0!==n&&n.name){var v,f,m,p,h=(null===(v=o.$style)||void 0===v||null===(f=v.getDirectiveTheme)||void 0===f?void 0:f.call(v))||{},g=h.css,b=h.style;null===(m=o.$style)||void 0===m||m.load(g,Se({name:"".concat(o.$style.name,"-variables")},i)),null===(p=o.$style)||void 0===p||p.loadTheme(Se({name:"".concat(o.$style.name,"-style")},i),b),y.setLoadedStyleName(o.$style.name)}if(!y.isStyleNameLoaded("layer-order")){var C,S,$=null===(C=o.$style)||void 0===C||null===(S=C.getLayerOrderThemeCSS)||void 0===S?void 0:S.call(C);J.load($,Se({name:"layer-order",first:!0},i)),y.setLoadedStyleName("layer-order")}}},_loadScopedThemeStyles:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.preset();if(n&&e.$attrSelector){var o,i,r,l=((null===(o=e.$style)||void 0===o||null===(i=o.getPresetTheme)||void 0===i?void 0:i.call(o,n,"[".concat(e.$attrSelector,"]")))||{}).css,a=null===(r=e.$style)||void 0===r?void 0:r.load(l,Se({name:"".concat(e.$attrSelector,"-").concat(e.$style.name)},t));e.scopedStyleEl=a.el}},_themeChangeListener:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};A.clearLoadedStyleNames(),P.on("theme:change",e)},_hook:function(e,t,n,o,i,r){var l,a,u="on".concat(N(t)),s=we._getConfig(o,i),c=null==n?void 0:n.$instance,d=we._usePT(c,we._getPT(null==o||null===(l=o.value)||void 0===l?void 0:l.pt,e),we._getOptionValue,"hooks.".concat(u)),v=we._useDefaultPT(c,null==s||null===(a=s.pt)||void 0===a||null===(a=a.directives)||void 0===a?void 0:a[e],we._getOptionValue,"hooks.".concat(u)),f={el:n,binding:o,vnode:i,prevVnode:r};null==d||d(c,f),null==v||v(c,f)},_mergeProps:function(){for(var e=arguments.length>1?arguments[1]:void 0,t=arguments.length,n=new Array(t>2?t-2:0),o=2;o1&&void 0!==arguments[1]?arguments[1]:{},n=function(n,o,i,r,l){var a,u,s,c;o._$instances=o._$instances||{};var d=we._getConfig(i,r),v=o._$instances[e]||{},f=j(v)?Se(Se({},t),null==t?void 0:t.methods):{};o._$instances[e]=Se(Se({},v),{},{$name:e,$host:o,$binding:i,$modifiers:null==i?void 0:i.modifiers,$value:null==i?void 0:i.value,$el:v.$el||o||void 0,$style:Se({classes:void 0,inlineStyles:void 0,load:function(){},loadCSS:function(){},loadTheme:function(){}},null==t?void 0:t.style),$primevueConfig:d,$attrSelector:null===(a=o.$pd)||void 0===a||null===(a=a[e])||void 0===a?void 0:a.attrSelector,defaultPT:function(){return we._getPT(null==d?void 0:d.pt,void 0,(function(t){var n;return null==t||null===(n=t.directives)||void 0===n?void 0:n[e]}))},isUnstyled:function(){var e,t;return void 0!==(null===(e=o.$instance)||void 0===e||null===(e=e.$binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.unstyled)?null===(t=o.$instance)||void 0===t||null===(t=t.$binding)||void 0===t||null===(t=t.value)||void 0===t?void 0:t.unstyled:null==d?void 0:d.unstyled},theme:function(){var e;return null===(e=o.$instance)||void 0===e||null===(e=e.$primevueConfig)||void 0===e?void 0:e.theme},preset:function(){var e;return null===(e=o.$instance)||void 0===e||null===(e=e.$binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.dt},ptm:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return we._getPTValue(o.$instance,null===(e=o.$instance)||void 0===e||null===(e=e.$binding)||void 0===e||null===(e=e.value)||void 0===e?void 0:e.pt,t,Se({},n))},ptmo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return we._getPTValue(o.$instance,e,t,n,!1)},cx:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return null!==(e=o.$instance)&&void 0!==e&&e.isUnstyled()?void 0:we._getOptionValue(null===(t=o.$instance)||void 0===t||null===(t=t.$style)||void 0===t?void 0:t.classes,n,Se({},i))},sx:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?we._getOptionValue(null===(e=o.$instance)||void 0===e||null===(e=e.$style)||void 0===e?void 0:e.inlineStyles,t,Se({},n)):void 0}},f),o.$instance=o._$instances[e],null===(u=(s=o.$instance)[n])||void 0===u||u.call(s,o,i,r,l),o["$".concat(e)]=o.$instance,we._hook(e,n,o,i,r,l),o.$pd||(o.$pd={}),o.$pd[e]=Se(Se({},null===(c=o.$pd)||void 0===c?void 0:c[e]),{},{name:e,instance:o.$instance})};return{created:function(t,o,i,r){t.$pd||(t.$pd={}),t.$pd[e]={name:e,attrSelector:C("pd")},n("created",t,o,i,r)},beforeMount:function(e,t,o,i){we._loadStyles(e,t,o),n("beforeMount",e,t,o,i),function(e){var t,n,o,i,r,l=null===(t=e.$instance)||void 0===t?void 0:t.watch;null==l||null===(n=l.config)||void 0===n||n.call(e.$instance,null===(o=e.$instance)||void 0===o?void 0:o.$primevueConfig),he.on("config:change",(function(t){var n,o=t.newValue,i=t.oldValue;return null==l||null===(n=l.config)||void 0===n?void 0:n.call(e.$instance,o,i)})),null==l||null===(i=l["config.ripple"])||void 0===i||i.call(e.$instance,null===(r=e.$instance)||void 0===r||null===(r=r.$primevueConfig)||void 0===r?void 0:r.ripple),he.on("config:ripple:change",(function(t){var n,o=t.newValue,i=t.oldValue;return null==l||null===(n=l["config.ripple"])||void 0===n?void 0:n.call(e.$instance,o,i)}))}(e)},mounted:function(e,t,o,i){we._loadStyles(e,t,o),n("mounted",e,t,o,i)},beforeUpdate:function(e,t,o,i){n("beforeUpdate",e,t,o,i)},updated:function(e,t,o,i){we._loadStyles(e,t,o),n("updated",e,t,o,i)},beforeUnmount:function(e,t,o,i){n("beforeUnmount",e,t,o,i)},unmounted:function(e,t,o,i){var r;null===(r=e.$instance)||void 0===r||null===(r=r.scopedStyleEl)||void 0===r||null===(r=r.value)||void 0===r||r.remove(),n("unmounted",e,t,o,i)}}},extend:function(){var e=ye(we._getMeta.apply(we,arguments),2),t=e[0],n=e[1];return Se({extend:function(){var e=ye(we._getMeta.apply(we,arguments),2),t=e[0],o=e[1];return we.extend(t,Se(Se(Se({},n),null==n?void 0:n.methods),o))}},we._extend(t,n))}},Pe="startsWith",Oe="contains",Te="notContains",_e="endsWith",je="equals",Le="notEquals",xe="lt",Ne="lte",Ve="gt",Me="gte",ke="dateIs",De="dateIsNot",Ee="dateBefore",Ae="dateAfter";function Ie(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Be(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Be(e,t):void 0}}(e))||t){n&&(e=n);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,l=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){a=!0,r=e},f:function(){try{l||null==n.return||n.return()}finally{if(a)throw r}}}}function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);nt.getTime():e>t)},gte:function(e,t){return null==t||null!=e&&(e.getTime&&t.getTime?e.getTime()>=t.getTime():e>=t)},dateIs:function(e,t){return null==t||null!=e&&e.toDateString()===t.toDateString()},dateIsNot:function(e,t){return null==t||null!=e&&e.toDateString()!==t.toDateString()},dateBefore:function(e,t){return null==t||null!=e&&e.getTime()t.getTime()}},register:function(e,t){this.filters[e]=t}};function Ue(e){return(Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Re(e,t,n){return t&&function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:function(){};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.element=t,this.listener=n}),[{key:"bindScrollListener",value:function(){this.scrollableParents=D(this.element);for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:"pv_id_")}var He={name:"BlankIcon",extends:me};He.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("rect",{width:"1",height:"1",fill:"currentColor","fill-opacity":"0"},null,-1)]),16)};var Ye={name:"CheckIcon",extends:me};Ye.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z",fill:"currentColor"},null,-1)]),16)};var qe={name:"ChevronDownIcon",extends:me};qe.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z",fill:"currentColor"},null,-1)]),16)};var Ge={name:"SearchIcon",extends:me};Ge.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z",fill:"currentColor"},null,-1)]),16)};var Je={name:"TimesIcon",extends:me};Je.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z",fill:"currentColor"},null,-1)]),16)};var Ke={name:"BaseEditableHolder",extends:ue,emits:["update:modelValue","value-change"],props:{modelValue:{type:null,default:void 0},defaultValue:{type:null,default:void 0},name:{type:String,default:void 0},invalid:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},formControl:{type:Object,default:void 0}},inject:{$parentInstance:{default:void 0},$pcForm:{default:void 0},$pcFormField:{default:void 0}},data:function(){return{d_value:this.defaultValue||this.modelValue}},watch:{modelValue:function(e){this.d_value=e},defaultValue:function(e){this.d_value=e},$formName:{immediate:!0,handler:function(e){var t,n;this.formField=(null===(t=this.$pcForm)||void 0===t||null===(n=t.register)||void 0===n?void 0:n.call(t,e,this.$formControl))||{}}},$formControl:{immediate:!0,handler:function(e){var t,n;this.formField=(null===(t=this.$pcForm)||void 0===t||null===(n=t.register)||void 0===n?void 0:n.call(t,this.$formName,e))||{}}},$formDefaultValue:{immediate:!0,handler:function(e){this.d_value!==e&&(this.d_value=e)}}},formField:{},methods:{writeValue:function(e,t){var n,o;this.controlled&&(this.d_value=e,this.$emit("update:modelValue",e)),this.$emit("value-change",e),null===(n=(o=this.formField).onChange)||void 0===n||n.call(o,{originalEvent:t,value:e})}},computed:{$filled:function(){return h(this.d_value)},$invalid:function(){var e,t,n,o;return null!==(e=null!==(t=this.invalid)&&void 0!==t?t:null===(n=this.$pcFormField)||void 0===n||null===(n=n.$field)||void 0===n?void 0:n.invalid)&&void 0!==e?e:null===(o=this.$pcForm)||void 0===o||null===(o=o.states)||void 0===o||null===(o=o[this.$formName])||void 0===o?void 0:o.invalid},$formName:function(){var e;return this.name||(null===(e=this.$formControl)||void 0===e?void 0:e.name)},$formControl:function(){var e;return this.formControl||(null===(e=this.$pcFormField)||void 0===e?void 0:e.formControl)},$formDefaultValue:function(){var e,t,n,o;return null!==(e=null!==(t=this.d_value)&&void 0!==t?t:null===(n=this.$pcFormField)||void 0===n?void 0:n.initialValue)&&void 0!==e?e:null===(o=this.$pcForm)||void 0===o||null===(o=o.initialValues)||void 0===o?void 0:o[this.$formName]},controlled:function(){return this.$inProps.hasOwnProperty("modelValue")||!this.$inProps.hasOwnProperty("modelValue")&&!this.$inProps.hasOwnProperty("defaultValue")},filled:function(){return this.$filled}}},Qe={name:"BaseInput",extends:Ke,props:{size:{type:String,default:null},fluid:{type:Boolean,default:null},variant:{type:String,default:null}},inject:{$parentInstance:{default:void 0},$pcFluid:{default:void 0}},computed:{$variant:function(){var e;return null!==(e=this.variant)&&void 0!==e?e:this.$primevue.config.inputStyle||this.$primevue.config.inputVariant},$fluid:function(){var e;return null!==(e=this.fluid)&&void 0!==e?e:!!this.$pcFluid},hasFluid:function(){return this.$fluid}}},Xe={name:"MinusIcon",extends:me};Xe.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{d:"M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z",fill:"currentColor"},null,-1)]),16)};var et={name:"TimesCircleIcon",extends:me};et.render=function(e,t,n,o,i,r){return a(),u("svg",l({width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.pti()),t[0]||(t[0]=[s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z",fill:"currentColor"},null,-1)]),16)};var tt={name:"AngleRightIcon",extends:me};function nt(e){return(nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function it(e){for(var t=1;tDt=t,jt=Symbol();function Rt(t){return t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)&&"function"!=typeof t.toJSON}var Gt,Ut;function Nt(){const o=t(!0),i=o.run((()=>e({})));let s=[],r=[];const l=n({install(t){Ht(l),l._a=t,t.provide(jt,l),t.config.globalProperties.$pinia=l,r.forEach((t=>s.push(t))),r=[]},use(t){return this._a?s.push(t):r.push(t),this},_p:s,_a:null,_e:o,_s:new Map,state:i});return l}(Ut=Gt||(Gt={})).direct="direct",Ut.patchObject="patch object",Ut.patchFunction="patch function";const qt=()=>{};function Wt(t,e,n,o=qt){t.push(e);const i=()=>{const n=t.indexOf(e);n>-1&&(t.splice(n,1),o())};return!n&&a()&&d(i),i}function Zt(t,...e){t.slice().forEach((t=>{t(...e)}))}const Xt=t=>t(),Yt=Symbol(),Jt=Symbol();function Qt(t,e){t instanceof Map&&e instanceof Map?e.forEach(((e,n)=>t.set(n,e))):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const o=e[n],i=t[n];Rt(i)&&Rt(o)&&t.hasOwnProperty(n)&&!s(o)&&!r(o)?t[n]=Qt(i,o):t[n]=o}return t}const te=Symbol();const{assign:ee}=Object;function ne(n,c,a={},d,p,h){let f;const b=ee({actions:{}},a),m={deep:!0};let g,v,y,x=[],I=[];const k=d.state.value[n];let O;function w(t){let e;g=v=!1,"function"==typeof t?(t(d.state.value[n]),e={type:Gt.patchFunction,storeId:n,events:y}):(Qt(d.state.value[n],t),e={type:Gt.patchObject,payload:t,storeId:n,events:y});const o=O=Symbol();u().then((()=>{O===o&&(g=!0)})),v=!0,Zt(x,e,d.state.value[n])}h||k||(d.state.value[n]={}),e({});const S=h?function(){const{state:t}=a,e=t?t():{};this.$patch((t=>{ee(t,e)}))}:qt;const L=(t,e="")=>{if(Yt in t)return t[Jt]=e,t;const o=function(){Ht(d);const e=Array.from(arguments),i=[],s=[];let r;Zt(I,{args:e,name:o[Jt],store:$,after:function(t){i.push(t)},onError:function(t){s.push(t)}});try{r=t.apply(this&&this.$id===n?this:$,e)}catch(l){throw Zt(s,l),l}return r instanceof Promise?r.then((t=>(Zt(i,t),t))).catch((t=>(Zt(s,t),Promise.reject(t)))):(Zt(i,r),r)};return o[Yt]=!0,o[Jt]=e,o},C={_p:d,$id:n,$onAction:Wt.bind(null,I),$patch:w,$reset:S,$subscribe(t,e={}){const i=Wt(x,t,e.detached,(()=>s())),s=f.run((()=>o((()=>d.state.value[n]),(o=>{("sync"===e.flush?v:g)&&t({storeId:n,type:Gt.direct,events:y},o)}),ee({},m,e))));return i},$dispose:function(){f.stop(),x=[],I=[],d._s.delete(n)}},$=i(C);d._s.set(n,$);const z=(d._a&&d._a.runWithContext||Xt)((()=>d._e.run((()=>(f=t()).run((()=>c({action:L})))))));for(const t in z){const e=z[t];if(s(e)&&(!s(T=e)||!T.effect)||r(e))h||(!k||Rt(F=e)&&F.hasOwnProperty(te)||(s(e)?e.value=k[t]:Qt(e,k[t])),d.state.value[n][t]=e);else if("function"==typeof e){const n=L(e,t);z[t]=n,b.actions[t]=e}}var F,T;return ee($,z),ee(l($),z),Object.defineProperty($,"$state",{get:()=>d.state.value[n],set:t=>{w((e=>{ee(e,t)}))}}),d._p.forEach((t=>{ee($,f.run((()=>t({store:$,app:d._a,pinia:d,options:b}))))})),k&&h&&a.hydrate&&a.hydrate($.$state,k),g=!0,v=!0,$}function oe(t,e,o){let i,s;const r="function"==typeof e;function l(t,o){const l=p();(t=t||(l?c(jt,null):null))&&Ht(t),(t=Dt)._s.has(i)||(r?ne(i,e,s,t):function(t,e,o){const{state:i,actions:s,getters:r}=e,l=o.state.value[t];let c;c=ne(t,(function(){l||(o.state.value[t]=i?i():{});const e=f(o.state.value[t]);return ee(e,s,Object.keys(r||{}).reduce(((e,i)=>(e[i]=n(b((()=>{Ht(o);const e=o._s.get(t);return r[i].call(e,e)}))),e)),{}))}),e,o,0,!0)}(i,s,t));return t._s.get(i)}return"string"==typeof t?(i=t,s=r?o:e):(s=t,i=t.id),l.$id=i,l}function ie(t){{t=l(t);const e={};for(const n in t){const o=t[n];(s(o)||r(o))&&(e[n]=h(t,n))}return e}}const se="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function re(t,e,n,o){t.addEventListener?t.addEventListener(e,n,o):t.attachEvent&&t.attachEvent("on".concat(e),n)}function le(t,e,n,o){t.removeEventListener?t.removeEventListener(e,n,o):t.detachEvent&&t.detachEvent("on".concat(e),n)}function ce(t,e){const n=e.slice(0,e.length-1);for(let o=0;o=0;)e[n-1]+=",",e.splice(n,1),n=e.lastIndexOf("");return e}const de={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":se?173:189,"=":se?61:187,";":se?59:186,"'":222,"[":219,"]":221,"\\":220},ue={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},pe={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},he={16:!1,18:!1,17:!1,91:!1},fe={};for(let so=1;so<20;so++)de["f".concat(so)]=111+so;let be=[],me=null,ge="all";const ve=new Map,ye=t=>de[t.toLowerCase()]||ue[t.toLowerCase()]||t.toUpperCase().charCodeAt(0);function xe(t){ge=t||"all"}function Ie(){return ge||"all"}function ke(t){if(void 0===t)Object.keys(fe).forEach((t=>{Array.isArray(fe[t])&&fe[t].forEach((t=>Oe(t))),delete fe[t]})),Ce(null);else if(Array.isArray(t))t.forEach((t=>{t.key&&Oe(t)}));else if("object"==typeof t)t.key&&Oe(t);else if("string"==typeof t){for(var e=arguments.length,n=new Array(e>1?e-1:0),o=1;o{let{key:e,scope:n,method:o,splitKey:i="+"}=t;ae(e).forEach((t=>{const e=t.split(i),s=e.length,r=e[s-1],l="*"===r?"*":ye(r);if(!fe[l])return;n||(n=Ie());const c=s>1?ce(ue,e):[],a=[];fe[l]=fe[l].filter((t=>{const e=(!o||t.method===o)&&t.scope===n&&function(t,e){const n=t.length>=e.length?t:e,o=t.length>=e.length?e:t;let i=!0;for(let s=0;sCe(t)))}))};function we(t,e,n,o){if(e.element!==o)return;let i;if(e.scope===n||"all"===e.scope){i=e.mods.length>0;for(const t in he)Object.prototype.hasOwnProperty.call(he,t)&&(!he[t]&&e.mods.indexOf(+t)>-1||he[t]&&-1===e.mods.indexOf(+t))&&(i=!1);(0!==e.mods.length||he[16]||he[18]||he[17]||he[91])&&!i&&"*"!==e.shortcut||(e.keys=[],e.keys=e.keys.concat(be),!1===e.method(t,e)&&(t.preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.cancelBubble&&(t.cancelBubble=!0)))}}function Se(t,e){const n=fe["*"];let o=t.keyCode||t.which||t.charCode;if(!Le.filter.call(this,t))return;if(93!==o&&224!==o||(o=91),-1===be.indexOf(o)&&229!==o&&be.push(o),["ctrlKey","altKey","shiftKey","metaKey"].forEach((e=>{const n=pe[e];t[e]&&-1===be.indexOf(n)?be.push(n):!t[e]&&be.indexOf(n)>-1?be.splice(be.indexOf(n),1):"metaKey"===e&&t[e]&&3===be.length&&(t.ctrlKey||t.shiftKey||t.altKey||(be=be.slice(be.indexOf(n))))})),o in he){he[o]=!0;for(const t in ue)ue[t]===o&&(Le[t]=!0);if(!n)return}for(const l in he)Object.prototype.hasOwnProperty.call(he,l)&&(he[l]=t[pe[l]]);t.getModifierState&&(!t.altKey||t.ctrlKey)&&t.getModifierState("AltGraph")&&(-1===be.indexOf(17)&&be.push(17),-1===be.indexOf(18)&&be.push(18),he[17]=!0,he[18]=!0);const i=Ie();if(n)for(let l=0;l1&&(i=ce(ue,t)),(t="*"===(t=t[t.length-1])?"*":ye(t))in fe||(fe[t]=[]),fe[t].push({keyup:c,keydown:a,scope:s,mods:i,shortcut:o[l],method:n,key:o[l],splitKey:d,element:r});if(void 0!==r&&window){if(!ve.has(r)){const t=function(){return Se(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,r)},e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event;Se(t,r),function(t){let e=t.keyCode||t.which||t.charCode;const n=be.indexOf(e);if(n>=0&&be.splice(n,1),t.key&&"meta"===t.key.toLowerCase()&&be.splice(0,be.length),93!==e&&224!==e||(e=91),e in he){he[e]=!1;for(const t in ue)ue[t]===e&&(Le[t]=!1)}}(t)};ve.set(r,{keydownListener:t,keyupListenr:e,capture:u}),re(r,"keydown",t,u),re(r,"keyup",e,u)}if(!me){const t=()=>{be=[]};me={listener:t,capture:u},re(window,"focus",t,u)}}}function Ce(t){const e=Object.values(fe).flat();if(e.findIndex((e=>{let{element:n}=e;return n===t}))<0){const{keydownListener:e,keyupListenr:n,capture:o}=ve.get(t)||{};e&&n&&(le(t,"keyup",n,o),le(t,"keydown",e,o),ve.delete(t))}if(e.length<=0||ve.size<=0){if(Object.keys(ve).forEach((t=>{const{keydownListener:e,keyupListenr:n,capture:o}=ve.get(t)||{};e&&n&&(le(t,"keyup",n,o),le(t,"keydown",e,o),ve.delete(t))})),ve.clear(),Object.keys(fe).forEach((t=>delete fe[t])),me){const{listener:t,capture:e}=me;le(window,"focus",t,e),me=null}}}const $e={getPressedKeyString:function(){return be.map((t=>{return e=t,Object.keys(de).find((t=>de[t]===e))||(t=>Object.keys(ue).find((e=>ue[e]===t)))(t)||String.fromCharCode(t);var e}))},setScope:xe,getScope:Ie,deleteScope:function(t,e){let n,o;t||(t=Ie());for(const i in fe)if(Object.prototype.hasOwnProperty.call(fe,i))for(n=fe[i],o=0;o{let{element:e}=t;return Ce(e)}))}else o++;Ie()===t&&xe(e||"all")},getPressedKeyCodes:function(){return be.slice(0)},getAllKeyCodes:function(){const t=[];return Object.keys(fe).forEach((e=>{fe[e].forEach((e=>{let{key:n,scope:o,mods:i,shortcut:s}=e;t.push({scope:o,shortcut:s,mods:i,keys:n.split("+").map((t=>ye(t)))})}))})),t},isPressed:function(t){return"string"==typeof t&&(t=ye(t)),-1!==be.indexOf(t)},filter:function(t){const e=t.target||t.srcElement,{tagName:n}=e;let o=!0;const i="INPUT"===n&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(i||"TEXTAREA"===n||"SELECT"===n)&&!e.readOnly)&&(o=!1),o},trigger:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(fe).forEach((n=>{fe[n].filter((n=>n.scope===e&&n.shortcut===t)).forEach((t=>{t&&t.method&&t.method()}))}))},unbind:ke,keyMap:de,modifier:ue,modifierMap:pe};for(const so in $e)Object.prototype.hasOwnProperty.call($e,so)&&(Le[so]=$e[so]);if("undefined"!=typeof window){const t=window.hotkeys;Le.noConflict=e=>(e&&window.hotkeys===Le&&(window.hotkeys=t),Le),window.hotkeys=Le}var ze={root:function(t){var e=t.props,n=t.instance;return["p-badge p-component",{"p-badge-circle":K(e.value)&&1===String(e.value).length,"p-badge-dot":B(e.value)&&!n.$slots.default,"p-badge-sm":"small"===e.size,"p-badge-lg":"large"===e.size,"p-badge-xl":"xlarge"===e.size,"p-badge-info":"info"===e.severity,"p-badge-success":"success"===e.severity,"p-badge-warn":"warn"===e.severity,"p-badge-danger":"danger"===e.severity,"p-badge-secondary":"secondary"===e.severity,"p-badge-contrast":"contrast"===e.severity}]}},Fe=wt.extend({name:"badge",theme:function(t){var e=t.dt;return"\n.p-badge {\n display: inline-flex;\n border-radius: ".concat(e("badge.border.radius"),";\n align-items: center;\n justify-content: center;\n padding: ").concat(e("badge.padding"),";\n background: ").concat(e("badge.primary.background"),";\n color: ").concat(e("badge.primary.color"),";\n font-size: ").concat(e("badge.font.size"),";\n font-weight: ").concat(e("badge.font.weight"),";\n min-width: ").concat(e("badge.min.width"),";\n height: ").concat(e("badge.height"),";\n}\n\n.p-badge-dot {\n width: ").concat(e("badge.dot.size"),";\n min-width: ").concat(e("badge.dot.size"),";\n height: ").concat(e("badge.dot.size"),";\n border-radius: 50%;\n padding: 0;\n}\n\n.p-badge-circle {\n padding: 0;\n border-radius: 50%;\n}\n\n.p-badge-secondary {\n background: ").concat(e("badge.secondary.background"),";\n color: ").concat(e("badge.secondary.color"),";\n}\n\n.p-badge-success {\n background: ").concat(e("badge.success.background"),";\n color: ").concat(e("badge.success.color"),";\n}\n\n.p-badge-info {\n background: ").concat(e("badge.info.background"),";\n color: ").concat(e("badge.info.color"),";\n}\n\n.p-badge-warn {\n background: ").concat(e("badge.warn.background"),";\n color: ").concat(e("badge.warn.color"),";\n}\n\n.p-badge-danger {\n background: ").concat(e("badge.danger.background"),";\n color: ").concat(e("badge.danger.color"),";\n}\n\n.p-badge-contrast {\n background: ").concat(e("badge.contrast.background"),";\n color: ").concat(e("badge.contrast.color"),";\n}\n\n.p-badge-sm {\n font-size: ").concat(e("badge.sm.font.size"),";\n min-width: ").concat(e("badge.sm.min.width"),";\n height: ").concat(e("badge.sm.height"),";\n}\n\n.p-badge-lg {\n font-size: ").concat(e("badge.lg.font.size"),";\n min-width: ").concat(e("badge.lg.min.width"),";\n height: ").concat(e("badge.lg.height"),";\n}\n\n.p-badge-xl {\n font-size: ").concat(e("badge.xl.font.size"),";\n min-width: ").concat(e("badge.xl.min.width"),";\n height: ").concat(e("badge.xl.height"),";\n}\n")},classes:ze}),Te={name:"Badge",extends:{name:"BaseBadge",extends:St,props:{value:{type:[String,Number],default:null},severity:{type:String,default:null},size:{type:String,default:null}},style:Fe,provide:function(){return{$pcBadge:this,$parentInstance:this}}},inheritAttrs:!1};Te.render=function(t,e,n,o,i,s){return m(),g("span",I({class:t.cx("root")},t.ptmi("root")),[v(t.$slots,"default",{},(function(){return[y(x(t.value),1)]}))],16)};var _e=wt.extend({name:"ripple-directive",theme:function(t){var e=t.dt;return"\n.p-ink {\n display: block;\n position: absolute;\n background: ".concat(e("ripple.background"),";\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n")},classes:{root:"p-ink"}});function Ee(t){return(Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Me(t){return function(t){if(Array.isArray(t))return Ve(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ve(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ve(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n .p-virtualscroller-content {\n display: flex;\n}\n\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n",theme:function(t){var e=t.dt;return"\n.p-virtualscroller-loader {\n background: ".concat(e("virtualscroller.loader.mask.background"),";\n color: ").concat(e("virtualscroller.loader.mask.color"),";\n}\n\n.p-virtualscroller-loading-icon {\n font-size: ").concat(e("virtualscroller.loader.icon.size"),";\n width: ").concat(e("virtualscroller.loader.icon.size"),";\n height: ").concat(e("virtualscroller.loader.icon.size"),";\n}\n")}});function Xe(t){return(Xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ye(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function Je(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"auto",o=this.isBoth(),i=this.isHorizontal();if(o?t.every((function(t){return t>-1})):t>-1){var s=this.first,r=this.element,l=r.scrollTop,c=void 0===l?0:l,a=r.scrollLeft,d=void 0===a?0:a,u=this.calculateNumItems().numToleratedItems,p=this.getContentPosition(),h=this.itemSize,f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return t<=(arguments.length>1?arguments[1]:void 0)?0:t},b=function(t,e,n){return t*e+n},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.scrollTo({left:t,top:o,behavior:n})},g=o?{rows:0,cols:0}:0,v=!1,y=!1;o?(m(b((g={rows:f(t[0],u[0]),cols:f(t[1],u[1])}).cols,h[1],p.left),b(g.rows,h[0],p.top)),y=this.lastScrollPos.top!==c||this.lastScrollPos.left!==d,v=g.rows!==s.rows||g.cols!==s.cols):(g=f(t,u),i?m(b(g,h,p.left),c):m(d,b(g,h,p.top)),y=this.lastScrollPos!==(i?d:c),v=g!==s),this.isRangeChanged=v,y&&(this.first=g)}},scrollInView:function(t,e){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(e){var i=this.isBoth(),s=this.isHorizontal();if(i?t.every((function(t){return t>-1})):t>-1){var r=this.getRenderedRange(),l=r.first,c=r.viewport,a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return n.scrollTo({left:t,top:e,behavior:o})},d="to-end"===e;if("to-start"===e){if(i)c.first.rows-l.rows>t[0]?a(c.first.cols*this.itemSize[1],(c.first.rows-1)*this.itemSize[0]):c.first.cols-l.cols>t[1]&&a((c.first.cols-1)*this.itemSize[1],c.first.rows*this.itemSize[0]);else if(c.first-l>t){var u=(c.first-1)*this.itemSize;s?a(u,0):a(0,u)}}else if(d)if(i)c.last.rows-l.rows<=t[0]+1?a(c.first.cols*this.itemSize[1],(c.first.rows+1)*this.itemSize[0]):c.last.cols-l.cols<=t[1]+1&&a((c.first.cols+1)*this.itemSize[1],c.first.rows*this.itemSize[0]);else if(c.last-l<=t+1){var p=(c.first+1)*this.itemSize;s?a(p,0):a(0,p)}}}else this.scrollToIndex(t,o)},getRenderedRange:function(){var t=function(t,e){return Math.floor(t/(e||t))},e=this.first,n=0;if(this.element){var o=this.isBoth(),i=this.isHorizontal(),s=this.element,r=s.scrollTop,l=s.scrollLeft;if(o)n={rows:(e={rows:t(r,this.itemSize[0]),cols:t(l,this.itemSize[1])}).rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else n=(e=t(i?l:r,this.itemSize))+this.numItemsInViewport}return{first:this.first,last:this.last,viewport:{first:e,last:n}}},calculateNumItems:function(){var t=this.isBoth(),e=this.isHorizontal(),n=this.itemSize,o=this.getContentPosition(),i=this.element?this.element.offsetWidth-o.left:0,s=this.element?this.element.offsetHeight-o.top:0,r=function(t,e){return Math.ceil(t/(e||t))},l=function(t){return Math.ceil(t/2)},c=t?{rows:r(s,n[0]),cols:r(i,n[1])}:r(e?i:s,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(t?[l(c.rows),l(c.cols)]:l(c))}},calculateOptions:function(){var t=this,e=this.isBoth(),n=this.first,o=this.calculateNumItems(),i=o.numItemsInViewport,s=o.numToleratedItems,r=function(e,n,o){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return t.getLast(e+n+(e0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1?arguments[1]:void 0;return this.items?Math.min(o?(null===(t=this.columns||this.items[0])||void 0===t?void 0:t.length)||0:(null===(e=this.items)||void 0===e?void 0:e.length)||0,n):0},getContentPosition:function(){if(this.content){var t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),n=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),o=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),i=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:n,top:o,bottom:i,x:e+n,y:o+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize:function(){var t=this;if(this.element){var e=this.isBoth(),n=this.isHorizontal(),o=this.element.parentElement,i=this.scrollWidth||"".concat(this.element.offsetWidth||o.offsetWidth,"px"),s=this.scrollHeight||"".concat(this.element.offsetHeight||o.offsetHeight,"px"),r=function(e,n){return t.element.style[e]=n};e||n?(r("height",s),r("width",i)):r("height",s)}},setSpacerSize:function(){var t=this,e=this.items;if(e){var n=this.isBoth(),o=this.isHorizontal(),i=this.getContentPosition(),s=function(e,n,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return t.spacerStyle=Je(Je({},t.spacerStyle),Qe({},"".concat(e),(n||[]).length*o+i+"px"))};n?(s("height",e,this.itemSize[0],i.y),s("width",this.columns||e[1],this.itemSize[1],i.x)):o?s("width",this.columns||e,this.itemSize,i.x):s("height",e,this.itemSize,i.y)}},setContentPosition:function(t){var e=this;if(this.content&&!this.appendOnly){var n=this.isBoth(),o=this.isHorizontal(),i=t?t.first:this.first,s=function(t,e){return t*e},r=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.contentStyle=Je(Je({},e.contentStyle),{transform:"translate3d(".concat(t,"px, ").concat(n,"px, 0)")})};if(n)r(s(i.cols,this.itemSize[1]),s(i.rows,this.itemSize[0]));else{var l=s(i,this.itemSize);o?r(l,0):r(0,l)}}},onScrollPositionChange:function(t){var e=this,n=t.target,o=this.isBoth(),i=this.isHorizontal(),s=this.getContentPosition(),r=function(t,e){return t?t>e?t-e:t:0},l=function(t,e){return Math.floor(t/(e||t))},c=function(t,e,n,o,i,s){return t<=i?i:s?n-o-i:e+i-1},a=function(t,e,n,o,i,s,r){return t<=s?0:Math.max(0,r?te?n:t-2*s)},d=function(t,n,o,i,s,r){var l=n+i+2*s;return t>=s&&(l+=s+1),e.getLast(l,r)},u=r(n.scrollTop,s.top),p=r(n.scrollLeft,s.left),h=o?{rows:0,cols:0}:0,f=this.last,b=!1,m=this.lastScrollPos;if(o){var g=this.lastScrollPos.top<=u,v=this.lastScrollPos.left<=p;if(!this.appendOnly||this.appendOnly&&(g||v)){var y={rows:l(u,this.itemSize[0]),cols:l(p,this.itemSize[1])},x={rows:c(y.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],g),cols:c(y.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],v)};h={rows:a(y.rows,x.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],g),cols:a(y.cols,x.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],v)},f={rows:d(y.rows,h.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:d(y.cols,h.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},b=h.rows!==this.first.rows||f.rows!==this.last.rows||h.cols!==this.first.cols||f.cols!==this.last.cols||this.isRangeChanged,m={top:u,left:p}}}else{var I=i?p:u,k=this.lastScrollPos<=I;if(!this.appendOnly||this.appendOnly&&k){var O=l(I,this.itemSize);f=d(O,h=a(O,c(O,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,k),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,k),this.last,this.numItemsInViewport,this.d_numToleratedItems),b=h!==this.first||f!==this.last||this.isRangeChanged,m=I}}return{first:h,last:f,isRangeChanged:b,scrollPos:m}},onScrollChange:function(t){var e=this.onScrollPositionChange(t),n=e.first,o=e.last,i=e.isRangeChanged,s=e.scrollPos;if(i){var r={first:n,last:o};if(this.setContentPosition(r),this.first=n,this.last=o,this.lastScrollPos=s,this.$emit("scroll-index-change",r),this.lazy&&this.isPageChanged(n)){var l,c,a={first:this.step?Math.min(this.getPageByFirst(n)*this.step,((null===(l=this.items)||void 0===l?void 0:l.length)||0)-this.step):n,last:Math.min(this.step?(this.getPageByFirst(n)+1)*this.step:o,(null===(c=this.items)||void 0===c?void 0:c.length)||0)};(this.lazyLoadState.first!==a.first||this.lazyLoadState.last!==a.last)&&this.$emit("lazy-load",a),this.lazyLoadState=a}}},onScroll:function(t){var e=this;if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader)(this.onScrollPositionChange(t).isRangeChanged||!!this.step&&this.isPageChanged())&&(this.d_loading=!0);this.scrollTimeout=setTimeout((function(){e.onScrollChange(t),!e.d_loading||!e.showLoader||e.lazy&&void 0!==e.loading||(e.d_loading=!1,e.page=e.getPageByFirst())}),this.delay)}}else this.onScrollChange(t)},onResize:function(){var t=this;this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((function(){if(Y(t.element)){var e=t.isBoth(),n=t.isVertical(),o=t.isHorizontal(),i=[R(t.element),j(t.element)],s=i[0],r=i[1],l=s!==t.defaultWidth,c=r!==t.defaultHeight;(e?l||c:o?l:!!n&&c)&&(t.d_numToleratedItems=t.numToleratedItems,t.defaultWidth=s,t.defaultHeight=r,t.defaultContentWidth=R(t.content),t.defaultContentHeight=j(t.content),t.init())}}),this.resizeDelay)},bindResizeListener:function(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions:function(t){var e=(this.items||[]).length,n=this.isBoth()?this.first.rows+t:this.first+t;return{index:n,count:e,first:0===n,last:n===e-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions:function(t,e){var n=this.loaderArr.length;return Je({index:t,count:n,first:0===t,last:t===n-1,even:t%2==0,odd:t%2!=0},e)},getPageByFirst:function(t){return Math.floor(((null!=t?t:this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged:function(t){return!(this.step&&!this.lazy)||this.page!==this.getPageByFirst(null!=t?t:this.first)},setContentEl:function(t){this.content=t||this.content||J(this.element,'[data-pc-section="content"]')},elementRef:function(t){this.element=t},contentRef:function(t){this.content=t}},computed:{containerClass:function(){return["p-virtualscroller",this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()}]},contentClass:function(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass:function(){return["p-virtualscroller-loader",{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems:function(){var t=this;return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((function(e){return t.columns?e:e.slice(t.appendOnly?0:t.first.cols,t.last.cols)})):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows:function(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns:function(){if(this.columns){var t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}},components:{SpinnerIcon:Ct}},en=["tabindex"];tn.render=function(t,e,n,o,i,s){var r=k("SpinnerIcon");return t.disabled?(m(),g(_,{key:1},[v(t.$slots,"default"),v(t.$slots,"content",{items:t.items,rows:t.items,columns:s.loadedColumns})],64)):(m(),g("div",I({key:0,ref:s.elementRef,class:s.containerClass,tabindex:t.tabindex,style:t.style,onScroll:e[0]||(e[0]=function(){return s.onScroll&&s.onScroll.apply(s,arguments)})},t.ptmi("root")),[v(t.$slots,"content",{styleClass:s.contentClass,items:s.loadedItems,getItemOptions:s.getOptions,loading:i.d_loading,getLoaderOptions:s.getLoaderOptions,itemSize:t.itemSize,rows:s.loadedRows,columns:s.loadedColumns,contentRef:s.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:s.isVertical(),horizontal:s.isHorizontal(),both:s.isBoth()},(function(){return[F("div",I({ref:s.contentRef,class:s.contentClass,style:i.contentStyle},t.ptm("content")),[(m(!0),g(_,null,E(s.loadedItems,(function(e,n){return v(t.$slots,"item",{key:n,item:e,options:s.getOptions(n)})})),128))],16)]})),t.showSpacer?(m(),g("div",I({key:0,class:"p-virtualscroller-spacer",style:i.spacerStyle},t.ptm("spacer")),null,16)):z("",!0),!t.loaderDisabled&&t.showLoader&&i.d_loading?(m(),g("div",I({key:1,class:s.loaderClass},t.ptm("loader")),[t.$slots&&t.$slots.loader?(m(!0),g(_,{key:0},E(i.loaderArr,(function(e,n){return v(t.$slots,"loader",{key:n,options:s.getLoaderOptions(n,s.isBoth()&&{numCols:t.d_numItemsInViewport.cols})})})),128)):z("",!0),v(t.$slots,"loadingicon",{},(function(){return[M(r,I({spin:"",class:"p-virtualscroller-loading-icon"},t.ptm("loadingIcon")),null,16)]}))],16)):z("",!0)],16,en))};var nn=wt.extend({name:"select",theme:function(t){var e=t.dt;return"\n.p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(e("select.background"),";\n border: 1px solid ").concat(e("select.border.color"),";\n transition: background ").concat(e("select.transition.duration"),", color ").concat(e("select.transition.duration"),", border-color ").concat(e("select.transition.duration"),",\n outline-color ").concat(e("select.transition.duration"),", box-shadow ").concat(e("select.transition.duration"),";\n border-radius: ").concat(e("select.border.radius"),";\n outline-color: transparent;\n box-shadow: ").concat(e("select.shadow"),";\n}\n\n.p-select:not(.p-disabled):hover {\n border-color: ").concat(e("select.hover.border.color"),";\n}\n\n.p-select:not(.p-disabled).p-focus {\n border-color: ").concat(e("select.focus.border.color"),";\n box-shadow: ").concat(e("select.focus.ring.shadow"),";\n outline: ").concat(e("select.focus.ring.width")," ").concat(e("select.focus.ring.style")," ").concat(e("select.focus.ring.color"),";\n outline-offset: ").concat(e("select.focus.ring.offset"),";\n}\n\n.p-select.p-variant-filled {\n background: ").concat(e("select.filled.background"),";\n}\n\n.p-select.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(e("select.filled.hover.background"),";\n}\n\n.p-select.p-variant-filled:not(.p-disabled).p-focus {\n background: ").concat(e("select.filled.focus.background"),";\n}\n\n.p-select.p-invalid {\n border-color: ").concat(e("select.invalid.border.color"),";\n}\n\n.p-select.p-disabled {\n opacity: 1;\n background: ").concat(e("select.disabled.background"),";\n}\n\n.p-select-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(e("select.clear.icon.color"),";\n inset-inline-end: ").concat(e("select.dropdown.width"),";\n}\n\n.p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(e("select.dropdown.color"),";\n width: ").concat(e("select.dropdown.width"),";\n border-start-end-radius: ").concat(e("select.border.radius"),";\n border-end-end-radius: ").concat(e("select.border.radius"),";\n}\n\n.p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: ").concat(e("select.padding.y")," ").concat(e("select.padding.x"),";\n text-overflow: ellipsis;\n cursor: pointer;\n color: ").concat(e("select.color"),";\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-select-label.p-placeholder {\n color: ").concat(e("select.placeholder.color"),";\n}\n\n.p-select.p-invalid .p-select-label.p-placeholder {\n color: ").concat(e("select.invalid.placeholder.color"),";\n}\n\n.p-select:has(.p-select-clear-icon) .p-select-label {\n padding-inline-end: calc(1rem + ").concat(e("select.padding.x"),");\n}\n\n.p-select.p-disabled .p-select-label {\n color: ").concat(e("select.disabled.color"),";\n}\n\n.p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n}\n\ninput.p-select-label {\n cursor: default;\n}\n\n.p-select .p-select-overlay {\n min-width: 100%;\n}\n\n.p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(e("select.overlay.background"),";\n color: ").concat(e("select.overlay.color"),";\n border: 1px solid ").concat(e("select.overlay.border.color"),";\n border-radius: ").concat(e("select.overlay.border.radius"),";\n box-shadow: ").concat(e("select.overlay.shadow"),";\n}\n\n.p-select-header {\n padding: ").concat(e("select.list.header.padding"),";\n}\n\n.p-select-filter {\n width: 100%;\n}\n\n.p-select-list-container {\n overflow: auto;\n}\n\n.p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: ").concat(e("select.option.group.padding"),";\n background: ").concat(e("select.option.group.background"),";\n color: ").concat(e("select.option.group.color"),";\n font-weight: ").concat(e("select.option.group.font.weight"),";\n}\n\n.p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(e("select.list.padding"),";\n gap: ").concat(e("select.list.gap"),";\n display: flex;\n flex-direction: column;\n}\n\n.p-select-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(e("select.option.padding"),";\n border: 0 none;\n color: ").concat(e("select.option.color"),";\n background: transparent;\n transition: background ").concat(e("select.transition.duration"),", color ").concat(e("select.transition.duration"),", border-color ").concat(e("select.transition.duration"),",\n box-shadow ").concat(e("select.transition.duration"),", outline-color ").concat(e("select.transition.duration"),";\n border-radius: ").concat(e("select.option.border.radius"),";\n}\n\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: ").concat(e("select.option.focus.background"),";\n color: ").concat(e("select.option.focus.color"),";\n}\n\n.p-select-option.p-select-option-selected {\n background: ").concat(e("select.option.selected.background"),";\n color: ").concat(e("select.option.selected.color"),";\n}\n\n.p-select-option.p-select-option-selected.p-focus {\n background: ").concat(e("select.option.selected.focus.background"),";\n color: ").concat(e("select.option.selected.focus.color"),";\n}\n\n.p-select-option-check-icon {\n position: relative;\n margin-inline-start: ").concat(e("select.checkmark.gutter.start"),";\n margin-inline-end: ").concat(e("select.checkmark.gutter.end"),";\n color: ").concat(e("select.checkmark.color"),";\n}\n\n.p-select-empty-message {\n padding: ").concat(e("select.empty.message.padding"),";\n}\n\n.p-select-fluid {\n display: flex;\n width: 100%;\n}\n\n.p-select-sm .p-select-label {\n font-size: ").concat(e("select.sm.font.size"),";\n padding-block: ").concat(e("select.sm.padding.y"),";\n padding-inline: ").concat(e("select.sm.padding.x"),";\n}\n\n.p-select-sm .p-select-dropdown .p-icon {\n font-size: ").concat(e("select.sm.font.size"),";\n width: ").concat(e("select.sm.font.size"),";\n height: ").concat(e("select.sm.font.size"),";\n}\n\n.p-select-lg .p-select-label {\n font-size: ").concat(e("select.lg.font.size"),";\n padding-block: ").concat(e("select.lg.padding.y"),";\n padding-inline: ").concat(e("select.lg.padding.x"),";\n}\n\n.p-select-lg .p-select-dropdown .p-icon {\n font-size: ").concat(e("select.lg.font.size"),";\n width: ").concat(e("select.lg.font.size"),";\n height: ").concat(e("select.lg.font.size"),";\n}\n")},classes:{root:function(t){var e=t.instance,n=t.props,o=t.state;return["p-select p-component p-inputwrapper",{"p-disabled":n.disabled,"p-invalid":e.$invalid,"p-variant-filled":"filled"===e.$variant,"p-focus":o.focused,"p-inputwrapper-filled":e.$filled,"p-inputwrapper-focus":o.focused||o.overlayVisible,"p-select-open":o.overlayVisible,"p-select-fluid":e.$fluid,"p-select-sm p-inputfield-sm":"small"===n.size,"p-select-lg p-inputfield-lg":"large"===n.size}]},label:function(t){var e=t.instance,n=t.props;return["p-select-label",{"p-placeholder":!n.editable&&e.label===n.placeholder,"p-select-label-empty":!(n.editable||e.$slots.value||"p-emptylabel"!==e.label&&0!==e.label.length)}]},clearIcon:"p-select-clear-icon",dropdown:"p-select-dropdown",loadingicon:"p-select-loading-icon",dropdownIcon:"p-select-dropdown-icon",overlay:"p-select-overlay p-component",header:"p-select-header",pcFilter:"p-select-filter",listContainer:"p-select-list-container",list:"p-select-list",optionGroup:"p-select-option-group",optionGroupLabel:"p-select-option-group-label",option:function(t){var e=t.instance,n=t.props,o=t.state,i=t.option,s=t.focusedOption;return["p-select-option",{"p-select-option-selected":e.isSelected(i)&&n.highlightOnSelect,"p-focus":o.focusedOptionIndex===s,"p-disabled":e.isOptionDisabled(i)}]},optionLabel:"p-select-option-label",optionCheckIcon:"p-select-option-check-icon",optionBlankIcon:"p-select-option-blank-icon",emptyMessage:"p-select-empty-message"}});function on(t){return(on="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sn(t){return function(t){if(Array.isArray(t))return rn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return rn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rn(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n2&&void 0!==arguments[2])||arguments[2],o=this.getOptionValue(e);this.updateModel(t,o),n&&this.hide(!0)},onOptionMouseMove:function(t,e){this.focusOnHover&&this.changeFocusedOptionIndex(t,e)},onFilterChange:function(t){var e=t.target.value;this.filterValue=e,this.focusedOptionIndex=-1,this.$emit("filter",{originalEvent:t,value:e}),!this.virtualScrollerDisabled&&this.virtualScroller.scrollToIndex(0)},onFilterKeyDown:function(t){if(!t.isComposing)switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(t,!0);break;case"Home":this.onHomeKey(t,!0);break;case"End":this.onEndKey(t,!0);break;case"Enter":case"NumpadEnter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t,!0)}},onFilterBlur:function(){this.focusedOptionIndex=-1},onFilterUpdated:function(){this.overlayVisible&&this.alignOverlay()},onOverlayClick:function(t){qe.emit("overlay-click",{originalEvent:t,target:this.$el})},onOverlayKeyDown:function(t){if("Escape"===t.code)this.onEscapeKey(t)},onArrowDownKey:function(t){if(this.overlayVisible){var e=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.clicked?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(t,e)}else this.show(),this.editable&&this.changeFocusedOptionIndex(t,this.findSelectedOptionIndex());t.preventDefault()},onArrowUpKey:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.altKey&&!e)-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(),t.preventDefault();else{var n=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.clicked?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(t,n),!this.overlayVisible&&this.show(),t.preventDefault()}},onArrowLeftKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(this.focusedOptionIndex=-1)},onHomeKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;t.shiftKey?e.setSelectionRange(0,t.target.selectionStart):(e.setSelectionRange(0,0),this.focusedOptionIndex=-1)}else this.changeFocusedOptionIndex(t,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();t.preventDefault()},onEndKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;if(t.shiftKey)e.setSelectionRange(t.target.selectionStart,e.value.length);else{var n=e.value.length;e.setSelectionRange(n,n),this.focusedOptionIndex=-1}}else this.changeFocusedOptionIndex(t,this.findLastOptionIndex()),!this.overlayVisible&&this.show();t.preventDefault()},onPageUpKey:function(t){this.scrollInView(0),t.preventDefault()},onPageDownKey:function(t){this.scrollInView(this.visibleOptions.length-1),t.preventDefault()},onEnterKey:function(t){this.overlayVisible?(-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.hide()):(this.focusedOptionIndex=-1,this.onArrowDownKey(t)),t.preventDefault()},onSpaceKey:function(t){!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])&&this.onEnterKey(t)},onEscapeKey:function(t){this.overlayVisible&&this.hide(!0),t.preventDefault(),t.stopPropagation()},onTabKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.overlayVisible&&this.hasFocusableElements()?(et(this.$refs.firstHiddenFocusableElementOnOverlay),t.preventDefault()):(-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(this.filter)))},onBackspaceKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&!this.overlayVisible&&this.show()},onOverlayEnter:function(t){var e=this;Q.set("overlay",t,this.$primevue.config.zIndex.overlay),rt(t,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.scrollInView(),setTimeout((function(){e.autoFilterFocus&&e.filter&&et(e.$refs.filterInput.$el)}),1)},onOverlayAfterEnter:function(){this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.$emit("show")},onOverlayLeave:function(){var t=this;this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.autoFilterFocus&&this.filter&&!this.editable&&this.$nextTick((function(){et(t.$refs.filterInput.$el)})),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave:function(t){Q.clear(t)},alignOverlay:function(){"self"===this.appendTo?lt(this.overlay,this.$el):(this.overlay.style.minWidth=G(this.$el)+"px",ct(this.overlay,this.$el))},bindOutsideClickListener:function(){var t=this;this.outsideClickListener||(this.outsideClickListener=function(e){t.overlayVisible&&t.overlay&&!t.$el.contains(e.target)&&!t.overlay.contains(e.target)&&t.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener:function(){var t=this;this.scrollHandler||(this.scrollHandler=new Ft(this.$refs.container,(function(){t.overlayVisible&&t.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var t=this;this.resizeListener||(this.resizeListener=function(){t.overlayVisible&&!at()&&t.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindLabelClickListener:function(){var t=this;if(!this.editable&&!this.labelClickListener){var e=document.querySelector('label[for="'.concat(this.labelId,'"]'));e&&Y(e)&&(this.labelClickListener=function(){et(t.$refs.focusInput)},e.addEventListener("click",this.labelClickListener))}},unbindLabelClickListener:function(){if(this.labelClickListener){var t=document.querySelector('label[for="'.concat(this.labelId,'"]'));t&&Y(t)&&t.removeEventListener("click",this.labelClickListener)}},hasFocusableElements:function(){return dt(this.overlay,':not([data-p-hidden-focusable="true"])').length>0},isOptionMatched:function(t){var e;return this.isValidOption(t)&&"string"==typeof this.getOptionLabel(t)&&(null===(e=this.getOptionLabel(t))||void 0===e?void 0:e.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)))},isValidOption:function(t){return K(t)&&!(this.isOptionDisabled(t)||this.isOptionGroup(t))},isValidSelectedOption:function(t){return this.isValidOption(t)&&this.isSelected(t)},isSelected:function(t){return ut(this.d_value,this.getOptionValue(t),this.equalityKey)},findFirstOptionIndex:function(){var t=this;return this.visibleOptions.findIndex((function(e){return t.isValidOption(e)}))},findLastOptionIndex:function(){var t=this;return pt(this.visibleOptions,(function(e){return t.isValidOption(e)}))},findNextOptionIndex:function(t){var e=this,n=t-1?n+t+1:t},findPrevOptionIndex:function(t){var e=this,n=t>0?pt(this.visibleOptions.slice(0,t),(function(t){return e.isValidOption(t)})):-1;return n>-1?n:t},findSelectedOptionIndex:function(){var t=this;return this.$filled?this.visibleOptions.findIndex((function(e){return t.isValidSelectedOption(e)})):-1},findFirstFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findFirstOptionIndex():t},findLastFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findLastOptionIndex():t},searchOptions:function(t,e){var n=this;this.searchValue=(this.searchValue||"")+e;var o=-1,i=!1;return K(this.searchValue)&&(-1!==(o=-1!==this.focusedOptionIndex?-1===(o=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((function(t){return n.isOptionMatched(t)})))?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((function(t){return n.isOptionMatched(t)})):o+this.focusedOptionIndex:this.visibleOptions.findIndex((function(t){return n.isOptionMatched(t)})))&&(i=!0),-1===o&&-1===this.focusedOptionIndex&&(o=this.findFirstFocusedOptionIndex()),-1!==o&&this.changeFocusedOptionIndex(t,o)),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.searchTimeout=null}),500),i},changeFocusedOptionIndex:function(t,e){this.focusedOptionIndex!==e&&(this.focusedOptionIndex=e,this.scrollInView(),this.selectOnFocus&&this.onOptionSelect(t,this.visibleOptions[e],!1))},scrollInView:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;this.$nextTick((function(){var n=-1!==e?"".concat(t.id,"_").concat(e):t.focusedOptionId,o=J(t.list,'li[id="'.concat(n,'"]'));o?o.scrollIntoView&&o.scrollIntoView({block:"nearest",inline:"start"}):t.virtualScrollerDisabled||t.virtualScroller&&t.virtualScroller.scrollToIndex(-1!==e?e:t.focusedOptionIndex)}))},autoUpdateModel:function(){this.selectOnFocus&&this.autoOptionFocus&&!this.$filled&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex],!1))},updateModel:function(t,e){this.writeValue(e,t),this.$emit("change",{originalEvent:t,value:e})},flatOptions:function(t){var e=this;return(t||[]).reduce((function(t,n,o){t.push({optionGroup:n,group:!0,index:o});var i=e.getOptionGroupChildren(n);return i&&i.forEach((function(e){return t.push(e)})),t}),[])},overlayRef:function(t){this.overlay=t},listRef:function(t,e){this.list=t,e&&e(t)},virtualScrollerRef:function(t){this.virtualScroller=t}},computed:{visibleOptions:function(){var t=this,e=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];if(this.filterValue){var n=Tt.filter(e,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale);if(this.optionGroupLabel){var o=this.options||[],i=[];return o.forEach((function(e){var o=t.getOptionGroupChildren(e).filter((function(t){return n.includes(t)}));o.length>0&&i.push(cn(cn({},e),{},an({},"string"==typeof t.optionGroupChildren?t.optionGroupChildren:"items",sn(o))))})),this.flatOptions(i)}return n}return e},hasSelectedOption:function(){return this.$filled},label:function(){var t=this.findSelectedOptionIndex();return-1!==t?this.getOptionLabel(this.visibleOptions[t]):this.placeholder||"p-emptylabel"},editableInputValue:function(){var t=this.findSelectedOptionIndex();return-1!==t?this.getOptionLabel(this.visibleOptions[t]):this.d_value||""},equalityKey:function(){return this.optionValue?null:this.dataKey},searchFields:function(){return this.filterFields||[this.optionLabel]},filterResultMessageText:function(){return K(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText:function(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText:function(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText:function(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText:function(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText:function(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText:function(){return this.$filled?this.selectionMessageText.replaceAll("{0}","1"):this.emptySelectionMessageText},focusedOptionId:function(){return-1!==this.focusedOptionIndex?"".concat(this.id,"_").concat(this.focusedOptionIndex):null},ariaSetSize:function(){var t=this;return this.visibleOptions.filter((function(e){return!t.isOptionGroup(e)})).length},isClearIconVisible:function(){return this.showClear&&null!=this.d_value&&K(this.options)},virtualScrollerDisabled:function(){return!this.virtualScrollerOptions}},directives:{ripple:Ae},components:{InputText:Ue,VirtualScroller:tn,Portal:We,InputIcon:Ge,IconField:Re,TimesIcon:_t,ChevronDownIcon:Et,SpinnerIcon:Ct,SearchIcon:Mt,CheckIcon:Vt,BlankIcon:Pt}},un=["id"],pn=["id","value","placeholder","tabindex","disabled","aria-label","aria-labelledby","aria-expanded","aria-controls","aria-activedescendant","aria-invalid"],hn=["id","tabindex","aria-label","aria-labelledby","aria-expanded","aria-controls","aria-activedescendant","aria-disabled"],fn=["id"],bn=["id"],mn=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousemove","data-p-selected","data-p-focused","data-p-disabled"];dn.render=function(t,e,n,o,i,s){var r=k("SpinnerIcon"),l=k("InputText"),c=k("SearchIcon"),a=k("InputIcon"),d=k("IconField"),u=k("CheckIcon"),p=k("BlankIcon"),h=k("VirtualScroller"),f=k("Portal"),b=O("ripple");return m(),g("div",I({ref:"container",id:i.id,class:t.cx("root"),onClick:e[11]||(e[11]=function(){return s.onContainerClick&&s.onContainerClick.apply(s,arguments)})},t.ptmi("root")),[t.editable?(m(),g("input",I({key:0,ref:"focusInput",id:t.labelId||t.inputId,type:"text",class:[t.cx("label"),t.inputClass,t.labelClass],style:[t.inputStyle,t.labelStyle],value:s.editableInputValue,placeholder:t.placeholder,tabindex:t.disabled?-1:t.tabindex,disabled:t.disabled,autocomplete:"off",role:"combobox","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-haspopup":"listbox","aria-expanded":i.overlayVisible,"aria-controls":i.id+"_list","aria-activedescendant":i.focused?s.focusedOptionId:void 0,"aria-invalid":t.invalid||void 0,onFocus:e[0]||(e[0]=function(){return s.onFocus&&s.onFocus.apply(s,arguments)}),onBlur:e[1]||(e[1]=function(){return s.onBlur&&s.onBlur.apply(s,arguments)}),onKeydown:e[2]||(e[2]=function(){return s.onKeyDown&&s.onKeyDown.apply(s,arguments)}),onInput:e[3]||(e[3]=function(){return s.onEditableInput&&s.onEditableInput.apply(s,arguments)})},t.ptm("label")),null,16,pn)):(m(),g("span",I({key:1,ref:"focusInput",id:t.labelId||t.inputId,class:[t.cx("label"),t.inputClass,t.labelClass],style:[t.inputStyle,t.labelStyle],tabindex:t.disabled?-1:t.tabindex,role:"combobox","aria-label":t.ariaLabel||("p-emptylabel"===s.label?void 0:s.label),"aria-labelledby":t.ariaLabelledby,"aria-haspopup":"listbox","aria-expanded":i.overlayVisible,"aria-controls":i.id+"_list","aria-activedescendant":i.focused?s.focusedOptionId:void 0,"aria-disabled":t.disabled,onFocus:e[4]||(e[4]=function(){return s.onFocus&&s.onFocus.apply(s,arguments)}),onBlur:e[5]||(e[5]=function(){return s.onBlur&&s.onBlur.apply(s,arguments)}),onKeydown:e[6]||(e[6]=function(){return s.onKeyDown&&s.onKeyDown.apply(s,arguments)})},t.ptm("label")),[v(t.$slots,"value",{value:t.d_value,placeholder:t.placeholder},(function(){var t;return[y(x("p-emptylabel"===s.label?" ":null!==(t=s.label)&&void 0!==t?t:"empty"),1)]}))],16,hn)),s.isClearIconVisible?v(t.$slots,"clearicon",{key:2,class:$(t.cx("clearIcon")),clearCallback:s.onClearClick},(function(){return[(m(),S(C(t.clearIcon?"i":"TimesIcon"),I({ref:"clearIcon",class:[t.cx("clearIcon"),t.clearIcon],onClick:s.onClearClick},t.ptm("clearIcon"),{"data-pc-section":"clearicon"}),null,16,["class","onClick"]))]})):z("",!0),F("div",I({class:t.cx("dropdown")},t.ptm("dropdown")),[t.loading?v(t.$slots,"loadingicon",{key:0,class:$(t.cx("loadingIcon"))},(function(){return[t.loadingIcon?(m(),g("span",I({key:0,class:[t.cx("loadingIcon"),"pi-spin",t.loadingIcon],"aria-hidden":"true"},t.ptm("loadingIcon")),null,16)):(m(),S(r,I({key:1,class:t.cx("loadingIcon"),spin:"","aria-hidden":"true"},t.ptm("loadingIcon")),null,16,["class"]))]})):v(t.$slots,"dropdownicon",{key:1,class:$(t.cx("dropdownIcon"))},(function(){return[(m(),S(C(t.dropdownIcon?"span":"ChevronDownIcon"),I({class:[t.cx("dropdownIcon"),t.dropdownIcon],"aria-hidden":"true"},t.ptm("dropdownIcon")),null,16,["class"]))]}))],16),M(f,{appendTo:t.appendTo},{default:L((function(){return[M(V,I({name:"p-connected-overlay",onEnter:s.onOverlayEnter,onAfterEnter:s.onOverlayAfterEnter,onLeave:s.onOverlayLeave,onAfterLeave:s.onOverlayAfterLeave},t.ptm("transition")),{default:L((function(){return[i.overlayVisible?(m(),g("div",I({key:0,ref:s.overlayRef,class:[t.cx("overlay"),t.panelClass,t.overlayClass],style:[t.panelStyle,t.overlayStyle],onClick:e[9]||(e[9]=function(){return s.onOverlayClick&&s.onOverlayClick.apply(s,arguments)}),onKeydown:e[10]||(e[10]=function(){return s.onOverlayKeyDown&&s.onOverlayKeyDown.apply(s,arguments)})},t.ptm("overlay")),[F("span",I({ref:"firstHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[7]||(e[7]=function(){return s.onFirstHiddenFocus&&s.onFirstHiddenFocus.apply(s,arguments)})},t.ptm("hiddenFirstFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16),v(t.$slots,"header",{value:t.d_value,options:s.visibleOptions}),t.filter?(m(),g("div",I({key:0,class:t.cx("header")},t.ptm("header")),[M(d,{unstyled:t.unstyled,pt:t.ptm("pcFilterContainer")},{default:L((function(){return[M(l,{ref:"filterInput",type:"text",value:i.filterValue,onVnodeMounted:s.onFilterUpdated,onVnodeUpdated:s.onFilterUpdated,class:$(t.cx("pcFilter")),placeholder:t.filterPlaceholder,variant:t.variant,unstyled:t.unstyled,role:"searchbox",autocomplete:"off","aria-owns":i.id+"_list","aria-activedescendant":s.focusedOptionId,onKeydown:s.onFilterKeyDown,onBlur:s.onFilterBlur,onInput:s.onFilterChange,pt:t.ptm("pcFilter")},null,8,["value","onVnodeMounted","onVnodeUpdated","class","placeholder","variant","unstyled","aria-owns","aria-activedescendant","onKeydown","onBlur","onInput","pt"]),M(a,{unstyled:t.unstyled,pt:t.ptm("pcFilterIconContainer")},{default:L((function(){return[v(t.$slots,"filtericon",{},(function(){return[t.filterIcon?(m(),g("span",I({key:0,class:t.filterIcon},t.ptm("filterIcon")),null,16)):(m(),S(c,P(I({key:1},t.ptm("filterIcon"))),null,16))]}))]})),_:3},8,["unstyled","pt"])]})),_:3},8,["unstyled","pt"]),F("span",I({role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenFilterResult"),{"data-p-hidden-accessible":!0}),x(s.filterResultMessageText),17)],16)):z("",!0),F("div",I({class:t.cx("listContainer"),style:{"max-height":s.virtualScrollerDisabled?t.scrollHeight:""}},t.ptm("listContainer")),[M(h,I({ref:s.virtualScrollerRef},t.virtualScrollerOptions,{items:s.visibleOptions,style:{height:t.scrollHeight},tabindex:-1,disabled:s.virtualScrollerDisabled,pt:t.ptm("virtualScroller")}),A({content:L((function(e){var n=e.styleClass,o=e.contentRef,r=e.items,l=e.getItemOptions,c=e.contentStyle,a=e.itemSize;return[F("ul",I({ref:function(t){return s.listRef(t,o)},id:i.id+"_list",class:[t.cx("list"),n],style:c,role:"listbox"},t.ptm("list")),[(m(!0),g(_,null,E(r,(function(e,n){return m(),g(_,{key:s.getOptionRenderKey(e,s.getOptionIndex(n,l))},[s.isOptionGroup(e)?(m(),g("li",I({key:0,id:i.id+"_"+s.getOptionIndex(n,l),style:{height:a?a+"px":void 0},class:t.cx("optionGroup"),role:"option",ref_for:!0},t.ptm("optionGroup")),[v(t.$slots,"optiongroup",{option:e.optionGroup,index:s.getOptionIndex(n,l)},(function(){return[F("span",I({class:t.cx("optionGroupLabel"),ref_for:!0},t.ptm("optionGroupLabel")),x(s.getOptionGroupLabel(e.optionGroup)),17)]}))],16,bn)):w((m(),g("li",I({key:1,id:i.id+"_"+s.getOptionIndex(n,l),class:t.cx("option",{option:e,focusedOption:s.getOptionIndex(n,l)}),style:{height:a?a+"px":void 0},role:"option","aria-label":s.getOptionLabel(e),"aria-selected":s.isSelected(e),"aria-disabled":s.isOptionDisabled(e),"aria-setsize":s.ariaSetSize,"aria-posinset":s.getAriaPosInset(s.getOptionIndex(n,l)),onClick:function(t){return s.onOptionSelect(t,e)},onMousemove:function(t){return s.onOptionMouseMove(t,s.getOptionIndex(n,l))},"data-p-selected":s.isSelected(e),"data-p-focused":i.focusedOptionIndex===s.getOptionIndex(n,l),"data-p-disabled":s.isOptionDisabled(e),ref_for:!0},s.getPTItemOptions(e,l,n,"option")),[t.checkmark?(m(),g(_,{key:0},[s.isSelected(e)?(m(),S(u,I({key:0,class:t.cx("optionCheckIcon"),ref_for:!0},t.ptm("optionCheckIcon")),null,16,["class"])):(m(),S(p,I({key:1,class:t.cx("optionBlankIcon"),ref_for:!0},t.ptm("optionBlankIcon")),null,16,["class"]))],64)):z("",!0),v(t.$slots,"option",{option:e,selected:s.isSelected(e),index:s.getOptionIndex(n,l)},(function(){return[F("span",I({class:t.cx("optionLabel"),ref_for:!0},t.ptm("optionLabel")),x(s.getOptionLabel(e)),17)]}))],16,mn)),[[b]])],64)})),128)),i.filterValue&&(!r||r&&0===r.length)?(m(),g("li",I({key:0,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage"),{"data-p-hidden-accessible":!0}),[v(t.$slots,"emptyfilter",{},(function(){return[y(x(s.emptyFilterMessageText),1)]}))],16)):!t.options||t.options&&0===t.options.length?(m(),g("li",I({key:1,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage"),{"data-p-hidden-accessible":!0}),[v(t.$slots,"empty",{},(function(){return[y(x(s.emptyMessageText),1)]}))],16)):z("",!0)],16,fn)]})),_:2},[t.$slots.loader?{name:"loader",fn:L((function(e){var n=e.options;return[v(t.$slots,"loader",{options:n})]})),key:"0"}:void 0]),1040,["items","style","disabled","pt"])],16),v(t.$slots,"footer",{value:t.d_value,options:s.visibleOptions}),!t.options||t.options&&0===t.options.length?(m(),g("span",I({key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenEmptyMessage"),{"data-p-hidden-accessible":!0}),x(s.emptyMessageText),17)):z("",!0),F("span",I({role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenSelectedMessage"),{"data-p-hidden-accessible":!0}),x(s.selectedMessageText),17),F("span",I({ref:"lastHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[8]||(e[8]=function(){return s.onLastHiddenFocus&&s.onLastHiddenFocus.apply(s,arguments)})},t.ptm("hiddenLastFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16)],16)):z("",!0)]})),_:3},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:3},8,["appendTo"])],16,un)};var gn=wt.extend({name:"tooltip-directive",theme:function(t){var e=t.dt;return"\n.p-tooltip {\n position: absolute;\n display: none;\n max-width: ".concat(e("tooltip.max.width"),";\n}\n\n.p-tooltip-right,\n.p-tooltip-left {\n padding: 0 ").concat(e("tooltip.gutter"),";\n}\n\n.p-tooltip-top,\n.p-tooltip-bottom {\n padding: ").concat(e("tooltip.gutter")," 0;\n}\n\n.p-tooltip-text {\n white-space: pre-line;\n word-break: break-word;\n background: ").concat(e("tooltip.background"),";\n color: ").concat(e("tooltip.color"),";\n padding: ").concat(e("tooltip.padding"),";\n box-shadow: ").concat(e("tooltip.shadow"),";\n border-radius: ").concat(e("tooltip.border.radius"),";\n}\n\n.p-tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.p-tooltip-right .p-tooltip-arrow {\n margin-top: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," 0;\n border-right-color: ").concat(e("tooltip.background"),";\n}\n\n.p-tooltip-left .p-tooltip-arrow {\n margin-top: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: ").concat(e("tooltip.gutter")," 0 ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter"),";\n border-left-color: ").concat(e("tooltip.background"),";\n}\n\n.p-tooltip-top .p-tooltip-arrow {\n margin-left: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," 0 ").concat(e("tooltip.gutter"),";\n border-top-color: ").concat(e("tooltip.background"),";\n border-bottom-color: ").concat(e("tooltip.background"),";\n}\n\n.p-tooltip-bottom .p-tooltip-arrow {\n margin-left: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: 0 ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter"),";\n border-top-color: ").concat(e("tooltip.background"),";\n border-bottom-color: ").concat(e("tooltip.background"),";\n}\n")},classes:{root:"p-tooltip p-component",arrow:"p-tooltip-arrow",text:"p-tooltip-text"}});function vn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var o,i,s,r,l=[],c=!0,a=!1;try{if(s=(n=n.call(t)).next,0===e);else for(;!(c=(o=s.call(n)).done)&&(l.push(o.value),l.length!==e);c=!0);}catch(d){a=!0,i=d}finally{try{if(!c&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(a)throw i}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return yn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yn(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);nl.width||i<0||o<0||o+r>l.height},getTarget:function(t){var e;return vt(t,"p-inputwrapper")&&null!==(e=J(t,"input"))&&void 0!==e?e:t},getModifiers:function(t){return t.modifiers&&Object.keys(t.modifiers).length?t.modifiers:t.arg&&"object"===In(t.arg)?Object.entries(t.arg).reduce((function(t,e){var n=vn(e,2),o=n[0],i=n[1];return"event"!==o&&"position"!==o||(t[i]=!0),t}),{}):{}}}}),On=wt.extend({name:"checkbox",theme:function(t){var e=t.dt;return"\n.p-checkbox {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ".concat(e("checkbox.width"),";\n height: ").concat(e("checkbox.height"),";\n}\n\n.p-checkbox-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: ").concat(e("checkbox.border.radius"),";\n}\n\n.p-checkbox-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: ").concat(e("checkbox.border.radius"),";\n border: 1px solid ").concat(e("checkbox.border.color"),";\n background: ").concat(e("checkbox.background"),";\n width: ").concat(e("checkbox.width"),";\n height: ").concat(e("checkbox.height"),";\n transition: background ").concat(e("checkbox.transition.duration"),", color ").concat(e("checkbox.transition.duration"),", border-color ").concat(e("checkbox.transition.duration"),", box-shadow ").concat(e("checkbox.transition.duration"),", outline-color ").concat(e("checkbox.transition.duration"),";\n outline-color: transparent;\n box-shadow: ").concat(e("checkbox.shadow"),";\n}\n\n.p-checkbox-icon {\n transition-duration: ").concat(e("checkbox.transition.duration"),";\n color: ").concat(e("checkbox.icon.color"),";\n font-size: ").concat(e("checkbox.icon.size"),";\n width: ").concat(e("checkbox.icon.size"),";\n height: ").concat(e("checkbox.icon.size"),";\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n border-color: ").concat(e("checkbox.hover.border.color"),";\n}\n\n.p-checkbox-checked .p-checkbox-box {\n border-color: ").concat(e("checkbox.checked.border.color"),";\n background: ").concat(e("checkbox.checked.background"),";\n}\n\n.p-checkbox-checked .p-checkbox-icon {\n color: ").concat(e("checkbox.icon.checked.color"),";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ").concat(e("checkbox.checked.hover.background"),";\n border-color: ").concat(e("checkbox.checked.hover.border.color"),";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {\n color: ").concat(e("checkbox.icon.checked.hover.color"),";\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ").concat(e("checkbox.focus.border.color"),";\n box-shadow: ").concat(e("checkbox.focus.ring.shadow"),";\n outline: ").concat(e("checkbox.focus.ring.width")," ").concat(e("checkbox.focus.ring.style")," ").concat(e("checkbox.focus.ring.color"),";\n outline-offset: ").concat(e("checkbox.focus.ring.offset"),";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ").concat(e("checkbox.checked.focus.border.color"),";\n}\n\n.p-checkbox.p-invalid > .p-checkbox-box {\n border-color: ").concat(e("checkbox.invalid.border.color"),";\n}\n\n.p-checkbox.p-variant-filled .p-checkbox-box {\n background: ").concat(e("checkbox.filled.background"),";\n}\n\n.p-checkbox-checked.p-variant-filled .p-checkbox-box {\n background: ").concat(e("checkbox.checked.background"),";\n}\n\n.p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ").concat(e("checkbox.checked.hover.background"),";\n}\n\n.p-checkbox.p-disabled {\n opacity: 1;\n}\n\n.p-checkbox.p-disabled .p-checkbox-box {\n background: ").concat(e("checkbox.disabled.background"),";\n border-color: ").concat(e("checkbox.checked.disabled.border.color"),";\n}\n\n.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\n color: ").concat(e("checkbox.icon.disabled.color"),";\n}\n\n.p-checkbox-sm,\n.p-checkbox-sm .p-checkbox-box {\n width: ").concat(e("checkbox.sm.width"),";\n height: ").concat(e("checkbox.sm.height"),";\n}\n\n.p-checkbox-sm .p-checkbox-icon {\n font-size: ").concat(e("checkbox.icon.sm.size"),";\n width: ").concat(e("checkbox.icon.sm.size"),";\n height: ").concat(e("checkbox.icon.sm.size"),";\n}\n\n.p-checkbox-lg,\n.p-checkbox-lg .p-checkbox-box {\n width: ").concat(e("checkbox.lg.width"),";\n height: ").concat(e("checkbox.lg.height"),";\n}\n\n.p-checkbox-lg .p-checkbox-icon {\n font-size: ").concat(e("checkbox.icon.lg.size"),";\n width: ").concat(e("checkbox.icon.lg.size"),";\n height: ").concat(e("checkbox.icon.lg.size"),";\n}\n")},classes:{root:function(t){var e=t.instance,n=t.props;return["p-checkbox p-component",{"p-checkbox-checked":e.checked,"p-disabled":n.disabled,"p-invalid":e.$pcCheckboxGroup?e.$pcCheckboxGroup.$invalid:e.$invalid,"p-variant-filled":"filled"===e.$variant,"p-checkbox-sm p-inputfield-sm":"small"===n.size,"p-checkbox-lg p-inputfield-lg":"large"===n.size}]},box:"p-checkbox-box",input:"p-checkbox-input",icon:"p-checkbox-icon"}});function wn(t){return function(t){if(Array.isArray(t))return Sn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Sn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sn(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Sn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);nt.length)&&(e=t.length);for(var n=0,o=Array(e);n2&&void 0!==arguments[2]?arguments[2]:-1,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!this.disabled&&!this.isOptionDisabled(e)){var s=null;s=this.isSelected(e)?this.d_value.filter((function(t){return!ut(t,n.getOptionValue(e),n.equalityKey)})):[].concat(Kn(this.d_value||[]),[this.getOptionValue(e)]),this.updateModel(t,s),-1!==o&&(this.focusedOptionIndex=o),i&&et(this.$refs.focusInput)}},onOptionMouseMove:function(t,e){this.focusOnHover&&this.changeFocusedOptionIndex(t,e)},onOptionSelectRange:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===n&&(n=this.findNearestSelectedOptionIndex(o,!0)),-1===o&&(o=this.findNearestSelectedOptionIndex(n)),-1!==n&&-1!==o){var i=Math.min(n,o),s=Math.max(n,o),r=this.visibleOptions.slice(i,s+1).filter((function(t){return e.isValidOption(t)})).map((function(t){return e.getOptionValue(t)}));this.updateModel(t,r)}},onFilterChange:function(t){var e=t.target.value;this.filterValue=e,this.focusedOptionIndex=-1,this.$emit("filter",{originalEvent:t,value:e}),!this.virtualScrollerDisabled&&this.virtualScroller.scrollToIndex(0)},onFilterKeyDown:function(t){switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(t,!0);break;case"Home":this.onHomeKey(t,!0);break;case"End":this.onEndKey(t,!0);break;case"Enter":case"NumpadEnter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t,!0)}},onFilterBlur:function(){this.focusedOptionIndex=-1},onFilterUpdated:function(){this.overlayVisible&&this.alignOverlay()},onOverlayClick:function(t){qe.emit("overlay-click",{originalEvent:t,target:this.$el})},onOverlayKeyDown:function(t){if("Escape"===t.code)this.onEscapeKey(t)},onArrowDownKey:function(t){if(this.overlayVisible){var e=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.clicked?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();t.shiftKey&&this.onOptionSelectRange(t,this.startRangeIndex,e),this.changeFocusedOptionIndex(t,e)}else this.show();t.preventDefault()},onArrowUpKey:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.altKey&&!e)-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(),t.preventDefault();else{var n=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.clicked?this.findLastOptionIndex():this.findLastFocusedOptionIndex();t.shiftKey&&this.onOptionSelectRange(t,n,this.startRangeIndex),this.changeFocusedOptionIndex(t,n),!this.overlayVisible&&this.show(),t.preventDefault()}},onArrowLeftKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(this.focusedOptionIndex=-1)},onHomeKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;t.shiftKey?e.setSelectionRange(0,t.target.selectionStart):(e.setSelectionRange(0,0),this.focusedOptionIndex=-1)}else{var n=t.metaKey||t.ctrlKey,o=this.findFirstOptionIndex();t.shiftKey&&n&&this.onOptionSelectRange(t,o,this.startRangeIndex),this.changeFocusedOptionIndex(t,o),!this.overlayVisible&&this.show()}t.preventDefault()},onEndKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;if(t.shiftKey)e.setSelectionRange(t.target.selectionStart,e.value.length);else{var n=e.value.length;e.setSelectionRange(n,n),this.focusedOptionIndex=-1}}else{var o=t.metaKey||t.ctrlKey,i=this.findLastOptionIndex();t.shiftKey&&o&&this.onOptionSelectRange(t,this.startRangeIndex,i),this.changeFocusedOptionIndex(t,i),!this.overlayVisible&&this.show()}t.preventDefault()},onPageUpKey:function(t){this.scrollInView(0),t.preventDefault()},onPageDownKey:function(t){this.scrollInView(this.visibleOptions.length-1),t.preventDefault()},onEnterKey:function(t){this.overlayVisible?-1!==this.focusedOptionIndex&&(t.shiftKey?this.onOptionSelectRange(t,this.focusedOptionIndex):this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex])):(this.focusedOptionIndex=-1,this.onArrowDownKey(t)),t.preventDefault()},onEscapeKey:function(t){this.overlayVisible&&this.hide(!0),t.preventDefault()},onTabKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.overlayVisible&&this.hasFocusableElements()?(et(t.shiftKey?this.$refs.lastHiddenFocusableElementOnOverlay:this.$refs.firstHiddenFocusableElementOnOverlay),t.preventDefault()):(-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(this.filter)))},onShiftKey:function(){this.startRangeIndex=this.focusedOptionIndex},onOverlayEnter:function(t){Q.set("overlay",t,this.$primevue.config.zIndex.overlay),rt(t,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.scrollInView(),this.autoFilterFocus&&et(this.$refs.filterInput.$el)},onOverlayAfterEnter:function(){this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.$emit("show")},onOverlayLeave:function(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave:function(t){Q.clear(t)},alignOverlay:function(){"self"===this.appendTo?lt(this.overlay,this.$el):(this.overlay.style.minWidth=G(this.$el)+"px",ct(this.overlay,this.$el))},bindOutsideClickListener:function(){var t=this;this.outsideClickListener||(this.outsideClickListener=function(e){t.overlayVisible&&t.isOutsideClicked(e)&&t.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener:function(){var t=this;this.scrollHandler||(this.scrollHandler=new Ft(this.$refs.container,(function(){t.overlayVisible&&t.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var t=this;this.resizeListener||(this.resizeListener=function(){t.overlayVisible&&!at()&&t.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isOutsideClicked:function(t){return!(this.$el.isSameNode(t.target)||this.$el.contains(t.target)||this.overlay&&this.overlay.contains(t.target))},getLabelByValue:function(t){var e=this,n=(this.optionGroupLabel?this.flatOptions(this.options):this.options||[]).find((function(n){return!e.isOptionGroup(n)&&ut(e.getOptionValue(n),t,e.equalityKey)}));return n?this.getOptionLabel(n):null},getSelectedItemsLabel:function(){var t=/{(.*?)}/,e=this.selectedItemsLabel||this.$primevue.config.locale.selectionMessage;return t.test(e)?e.replace(e.match(t)[0],this.d_value.length+""):e},onToggleAll:function(t){var e=this;if(null!==this.selectAll)this.$emit("selectall-change",{originalEvent:t,checked:!this.allSelected});else{var n=this.allSelected?[]:this.visibleOptions.filter((function(t){return e.isValidOption(t)})).map((function(t){return e.getOptionValue(t)}));this.updateModel(t,n)}},removeOption:function(t,e){var n=this;t.stopPropagation();var o=this.d_value.filter((function(t){return!ut(t,e,n.equalityKey)}));this.updateModel(t,o)},clearFilter:function(){this.filterValue=null},hasFocusableElements:function(){return dt(this.overlay,':not([data-p-hidden-focusable="true"])').length>0},isOptionMatched:function(t){var e;return this.isValidOption(t)&&"string"==typeof this.getOptionLabel(t)&&(null===(e=this.getOptionLabel(t))||void 0===e?void 0:e.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)))},isValidOption:function(t){return K(t)&&!(this.isOptionDisabled(t)||this.isOptionGroup(t))},isValidSelectedOption:function(t){return this.isValidOption(t)&&this.isSelected(t)},isEquals:function(t,e){return ut(t,e,this.equalityKey)},isSelected:function(t){var e=this,n=this.getOptionValue(t);return(this.d_value||[]).some((function(t){return e.isEquals(t,n)}))},findFirstOptionIndex:function(){var t=this;return this.visibleOptions.findIndex((function(e){return t.isValidOption(e)}))},findLastOptionIndex:function(){var t=this;return pt(this.visibleOptions,(function(e){return t.isValidOption(e)}))},findNextOptionIndex:function(t){var e=this,n=t-1?n+t+1:t},findPrevOptionIndex:function(t){var e=this,n=t>0?pt(this.visibleOptions.slice(0,t),(function(t){return e.isValidOption(t)})):-1;return n>-1?n:t},findSelectedOptionIndex:function(){var t=this;if(this.$filled)for(var e,n=function(){var e=t.d_value[o],n=t.visibleOptions.findIndex((function(n){return t.isValidSelectedOption(n)&&t.isEquals(e,t.getOptionValue(n))}));if(n>-1)return{v:n}},o=this.d_value.length-1;o>=0;o--)if(e=n())return e.v;return-1},findFirstSelectedOptionIndex:function(){var t=this;return this.$filled?this.visibleOptions.findIndex((function(e){return t.isValidSelectedOption(e)})):-1},findLastSelectedOptionIndex:function(){var t=this;return this.$filled?pt(this.visibleOptions,(function(e){return t.isValidSelectedOption(e)})):-1},findNextSelectedOptionIndex:function(t){var e=this,n=this.$filled&&t-1?n+t+1:-1},findPrevSelectedOptionIndex:function(t){var e=this,n=this.$filled&&t>0?pt(this.visibleOptions.slice(0,t),(function(t){return e.isValidSelectedOption(t)})):-1;return n>-1?n:-1},findNearestSelectedOptionIndex:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=-1;return this.$filled&&(n=e?-1===(n=this.findPrevSelectedOptionIndex(t))?this.findNextSelectedOptionIndex(t):n:-1===(n=this.findNextSelectedOptionIndex(t))?this.findPrevSelectedOptionIndex(t):n),n>-1?n:t},findFirstFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findFirstOptionIndex():t},findLastFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findLastOptionIndex():t},searchOptions:function(t){var e=this;this.searchValue=(this.searchValue||"")+t.key;var n=-1;K(this.searchValue)&&(-1===(n=-1!==this.focusedOptionIndex?-1===(n=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((function(t){return e.isOptionMatched(t)})))?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((function(t){return e.isOptionMatched(t)})):n+this.focusedOptionIndex:this.visibleOptions.findIndex((function(t){return e.isOptionMatched(t)})))&&-1===this.focusedOptionIndex&&(n=this.findFirstFocusedOptionIndex()),-1!==n&&this.changeFocusedOptionIndex(t,n)),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){e.searchValue="",e.searchTimeout=null}),500)},changeFocusedOptionIndex:function(t,e){this.focusedOptionIndex!==e&&(this.focusedOptionIndex=e,this.scrollInView(),this.selectOnFocus&&this.onOptionSelect(t,this.visibleOptions[e]))},scrollInView:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;this.$nextTick((function(){var n=-1!==e?"".concat(t.id,"_").concat(e):t.focusedOptionId,o=J(t.list,'li[id="'.concat(n,'"]'));o?o.scrollIntoView&&o.scrollIntoView({block:"nearest",inline:"nearest"}):t.virtualScrollerDisabled||t.virtualScroller&&t.virtualScroller.scrollToIndex(-1!==e?e:t.focusedOptionIndex)}))},autoUpdateModel:function(){if(this.selectOnFocus&&this.autoOptionFocus&&!this.$filled){this.focusedOptionIndex=this.findFirstFocusedOptionIndex();var t=this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);this.updateModel(null,[t])}},updateModel:function(t,e){this.writeValue(e,t),this.$emit("change",{originalEvent:t,value:e})},flatOptions:function(t){var e=this;return(t||[]).reduce((function(t,n,o){t.push({optionGroup:n,group:!0,index:o});var i=e.getOptionGroupChildren(n);return i&&i.forEach((function(e){return t.push(e)})),t}),[])},overlayRef:function(t){this.overlay=t},listRef:function(t,e){this.list=t,e&&e(t)},virtualScrollerRef:function(t){this.virtualScroller=t}},computed:{visibleOptions:function(){var t=this,e=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];if(this.filterValue){var n=Tt.filter(e,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale);if(this.optionGroupLabel){var o=this.options||[],i=[];return o.forEach((function(e){var o=t.getOptionGroupChildren(e).filter((function(t){return n.includes(t)}));o.length>0&&i.push(Pn(Pn({},e),{},An({},"string"==typeof t.optionGroupChildren?t.optionGroupChildren:"items",Kn(o))))})),this.flatOptions(i)}return n}return e},label:function(){var t;if(this.d_value&&this.d_value.length){if(K(this.maxSelectedLabels)&&this.d_value.length>this.maxSelectedLabels)return this.getSelectedItemsLabel();t="";for(var e=0;ethis.maxSelectedLabels},allSelected:function(){var t=this;return null!==this.selectAll?this.selectAll:K(this.visibleOptions)&&this.visibleOptions.every((function(e){return t.isOptionGroup(e)||t.isOptionDisabled(e)||t.isSelected(e)}))},hasSelectedOption:function(){return this.$filled},equalityKey:function(){return this.optionValue?null:this.dataKey},searchFields:function(){return this.filterFields||[this.optionLabel]},maxSelectionLimitReached:function(){return this.selectionLimit&&this.d_value&&this.d_value.length===this.selectionLimit},filterResultMessageText:function(){return K(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText:function(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText:function(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText:function(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText:function(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText:function(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText:function(){return this.$filled?this.selectionMessageText.replaceAll("{0}",this.d_value.length):this.emptySelectionMessageText},focusedOptionId:function(){return-1!==this.focusedOptionIndex?"".concat(this.id,"_").concat(this.focusedOptionIndex):null},ariaSetSize:function(){var t=this;return this.visibleOptions.filter((function(e){return!t.isOptionGroup(e)})).length},toggleAllAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria[this.allSelected?"selectAll":"unselectAll"]:void 0},listAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.listLabel:void 0},virtualScrollerDisabled:function(){return!this.virtualScrollerOptions},hasFluid:function(){return B(this.fluid)?!!this.$pcFluid:this.fluid},isClearIconVisible:function(){return this.showClear&&null!=this.d_value&&K(this.options)}},directives:{ripple:Ae},components:{InputText:Ue,Checkbox:Ln,VirtualScroller:tn,Portal:We,Chip:Fn,IconField:Re,InputIcon:Ge,TimesIcon:_t,SearchIcon:Mt,ChevronDownIcon:Et,SpinnerIcon:Ct,CheckIcon:Vt}};function Hn(t){return(Hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function jn(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=Hn(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!=Hn(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Hn(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Rn=["id","disabled","placeholder","tabindex","aria-label","aria-labelledby","aria-expanded","aria-controls","aria-activedescendant","aria-invalid"],Gn={key:0},Un=["id","aria-label"],Nn=["id"],qn=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousemove","data-p-selected","data-p-focused","data-p-disabled"];Dn.render=function(t,e,n,o,i,s){var r=k("Chip"),l=k("SpinnerIcon"),c=k("Checkbox"),a=k("InputText"),d=k("SearchIcon"),u=k("InputIcon"),p=k("IconField"),h=k("VirtualScroller"),f=k("Portal"),b=O("ripple");return m(),g("div",I({ref:"container",class:t.cx("root"),style:t.sx("root"),onClick:e[7]||(e[7]=function(){return s.onContainerClick&&s.onContainerClick.apply(s,arguments)})},t.ptmi("root")),[F("div",I({class:"p-hidden-accessible"},t.ptm("hiddenInputContainer"),{"data-p-hidden-accessible":!0}),[F("input",I({ref:"focusInput",id:t.inputId,type:"text",readonly:"",disabled:t.disabled,placeholder:t.placeholder,tabindex:t.disabled?-1:t.tabindex,role:"combobox","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-haspopup":"listbox","aria-expanded":i.overlayVisible,"aria-controls":i.id+"_list","aria-activedescendant":i.focused?s.focusedOptionId:void 0,"aria-invalid":t.invalid||void 0,onFocus:e[0]||(e[0]=function(){return s.onFocus&&s.onFocus.apply(s,arguments)}),onBlur:e[1]||(e[1]=function(){return s.onBlur&&s.onBlur.apply(s,arguments)}),onKeydown:e[2]||(e[2]=function(){return s.onKeyDown&&s.onKeyDown.apply(s,arguments)})},t.ptm("hiddenInput")),null,16,Rn)],16),F("div",I({class:t.cx("labelContainer")},t.ptm("labelContainer")),[F("div",I({class:t.cx("label")},t.ptm("label")),[v(t.$slots,"value",{value:t.d_value,placeholder:t.placeholder},(function(){return["comma"===t.display?(m(),g(_,{key:0},[y(x(s.label||"empty"),1)],64)):"chip"===t.display?(m(),g(_,{key:1},[s.chipSelectedItems?(m(),g("span",Gn,x(s.label),1)):(m(!0),g(_,{key:1},E(t.d_value,(function(e){return m(),g("span",I({key:s.getLabelByValue(e),class:t.cx("chipItem"),ref_for:!0},t.ptm("chipItem")),[v(t.$slots,"chip",{value:e,removeCallback:function(t){return s.removeOption(t,e)}},(function(){return[M(r,{class:$(t.cx("pcChip")),label:s.getLabelByValue(e),removeIcon:t.chipIcon||t.removeTokenIcon,removable:"",unstyled:t.unstyled,onRemove:function(t){return s.removeOption(t,e)},pt:t.ptm("pcChip")},{removeicon:L((function(){return[v(t.$slots,t.$slots.chipicon?"chipicon":"removetokenicon",{class:$(t.cx("chipIcon")),item:e,removeCallback:function(t){return s.removeOption(t,e)}})]})),_:2},1032,["class","label","removeIcon","unstyled","onRemove","pt"])]}))],16)})),128)),t.d_value&&0!==t.d_value.length?z("",!0):(m(),g(_,{key:2},[y(x(t.placeholder||"empty"),1)],64))],64)):z("",!0)]}))],16)],16),s.isClearIconVisible?v(t.$slots,"clearicon",{key:0,class:$(t.cx("clearIcon")),clearCallback:s.onClearClick},(function(){return[(m(),S(C(t.clearIcon?"i":"TimesIcon"),I({ref:"clearIcon",class:[t.cx("clearIcon"),t.clearIcon],onClick:s.onClearClick},t.ptm("clearIcon"),{"data-pc-section":"clearicon"}),null,16,["class","onClick"]))]})):z("",!0),F("div",I({class:t.cx("dropdown")},t.ptm("dropdown")),[t.loading?v(t.$slots,"loadingicon",{key:0,class:$(t.cx("loadingIcon"))},(function(){return[t.loadingIcon?(m(),g("span",I({key:0,class:[t.cx("loadingIcon"),"pi-spin",t.loadingIcon],"aria-hidden":"true"},t.ptm("loadingIcon")),null,16)):(m(),S(l,I({key:1,class:t.cx("loadingIcon"),spin:"","aria-hidden":"true"},t.ptm("loadingIcon")),null,16,["class"]))]})):v(t.$slots,"dropdownicon",{key:1,class:$(t.cx("dropdownIcon"))},(function(){return[(m(),S(C(t.dropdownIcon?"span":"ChevronDownIcon"),I({class:[t.cx("dropdownIcon"),t.dropdownIcon],"aria-hidden":"true"},t.ptm("dropdownIcon")),null,16,["class"]))]}))],16),M(f,{appendTo:t.appendTo},{default:L((function(){return[M(V,I({name:"p-connected-overlay",onEnter:s.onOverlayEnter,onAfterEnter:s.onOverlayAfterEnter,onLeave:s.onOverlayLeave,onAfterLeave:s.onOverlayAfterLeave},t.ptm("transition")),{default:L((function(){return[i.overlayVisible?(m(),g("div",I({key:0,ref:s.overlayRef,style:[t.panelStyle,t.overlayStyle],class:[t.cx("overlay"),t.panelClass,t.overlayClass],onClick:e[5]||(e[5]=function(){return s.onOverlayClick&&s.onOverlayClick.apply(s,arguments)}),onKeydown:e[6]||(e[6]=function(){return s.onOverlayKeyDown&&s.onOverlayKeyDown.apply(s,arguments)})},t.ptm("overlay")),[F("span",I({ref:"firstHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[3]||(e[3]=function(){return s.onFirstHiddenFocus&&s.onFirstHiddenFocus.apply(s,arguments)})},t.ptm("hiddenFirstFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16),v(t.$slots,"header",{value:t.d_value,options:s.visibleOptions}),t.showToggleAll&&null==t.selectionLimit||t.filter?(m(),g("div",I({key:0,class:t.cx("header")},t.ptm("header")),[t.showToggleAll&&null==t.selectionLimit?(m(),S(c,{key:0,modelValue:s.allSelected,binary:!0,disabled:t.disabled,variant:t.variant,"aria-label":s.toggleAllAriaLabel,onChange:s.onToggleAll,unstyled:t.unstyled,pt:s.getHeaderCheckboxPTOptions("pcHeaderCheckbox")},{icon:L((function(e){return[t.$slots.headercheckboxicon?(m(),S(C(t.$slots.headercheckboxicon),{key:0,checked:e.checked,class:$(e.class)},null,8,["checked","class"])):e.checked?(m(),S(C(t.checkboxIcon?"span":"CheckIcon"),I({key:1,class:[e.class,jn({},t.checkboxIcon,e.checked)]},s.getHeaderCheckboxPTOptions("pcHeaderCheckbox.icon")),null,16,["class"])):z("",!0)]})),_:1},8,["modelValue","disabled","variant","aria-label","onChange","unstyled","pt"])):z("",!0),t.filter?(m(),S(p,{key:1,class:$(t.cx("pcFilterContainer")),unstyled:t.unstyled,pt:t.ptm("pcFilterContainer")},{default:L((function(){return[M(a,{ref:"filterInput",value:i.filterValue,onVnodeMounted:s.onFilterUpdated,onVnodeUpdated:s.onFilterUpdated,class:$(t.cx("pcFilter")),placeholder:t.filterPlaceholder,disabled:t.disabled,variant:t.variant,unstyled:t.unstyled,role:"searchbox",autocomplete:"off","aria-owns":i.id+"_list","aria-activedescendant":s.focusedOptionId,onKeydown:s.onFilterKeyDown,onBlur:s.onFilterBlur,onInput:s.onFilterChange,pt:t.ptm("pcFilter")},null,8,["value","onVnodeMounted","onVnodeUpdated","class","placeholder","disabled","variant","unstyled","aria-owns","aria-activedescendant","onKeydown","onBlur","onInput","pt"]),M(u,{unstyled:t.unstyled,pt:t.ptm("pcFilterIconContainer")},{default:L((function(){return[v(t.$slots,"filtericon",{},(function(){return[t.filterIcon?(m(),g("span",I({key:0,class:t.filterIcon},t.ptm("filterIcon")),null,16)):(m(),S(d,P(I({key:1},t.ptm("filterIcon"))),null,16))]}))]})),_:3},8,["unstyled","pt"])]})),_:3},8,["class","unstyled","pt"])):z("",!0),t.filter?(m(),g("span",I({key:2,role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenFilterResult"),{"data-p-hidden-accessible":!0}),x(s.filterResultMessageText),17)):z("",!0)],16)):z("",!0),F("div",I({class:t.cx("listContainer"),style:{"max-height":s.virtualScrollerDisabled?t.scrollHeight:""}},t.ptm("listContainer")),[M(h,I({ref:s.virtualScrollerRef},t.virtualScrollerOptions,{items:s.visibleOptions,style:{height:t.scrollHeight},tabindex:-1,disabled:s.virtualScrollerDisabled,pt:t.ptm("virtualScroller")}),A({content:L((function(e){var n=e.styleClass,o=e.contentRef,r=e.items,l=e.getItemOptions,a=e.contentStyle,d=e.itemSize;return[F("ul",I({ref:function(t){return s.listRef(t,o)},id:i.id+"_list",class:[t.cx("list"),n],style:a,role:"listbox","aria-multiselectable":"true","aria-label":s.listAriaLabel},t.ptm("list")),[(m(!0),g(_,null,E(r,(function(e,n){return m(),g(_,{key:s.getOptionRenderKey(e,s.getOptionIndex(n,l))},[s.isOptionGroup(e)?(m(),g("li",I({key:0,id:i.id+"_"+s.getOptionIndex(n,l),style:{height:d?d+"px":void 0},class:t.cx("optionGroup"),role:"option",ref_for:!0},t.ptm("optionGroup")),[v(t.$slots,"optiongroup",{option:e.optionGroup,index:s.getOptionIndex(n,l)},(function(){return[y(x(s.getOptionGroupLabel(e.optionGroup)),1)]}))],16,Nn)):w((m(),g("li",I({key:1,id:i.id+"_"+s.getOptionIndex(n,l),style:{height:d?d+"px":void 0},class:t.cx("option",{option:e,index:n,getItemOptions:l}),role:"option","aria-label":s.getOptionLabel(e),"aria-selected":s.isSelected(e),"aria-disabled":s.isOptionDisabled(e),"aria-setsize":s.ariaSetSize,"aria-posinset":s.getAriaPosInset(s.getOptionIndex(n,l)),onClick:function(t){return s.onOptionSelect(t,e,s.getOptionIndex(n,l),!0)},onMousemove:function(t){return s.onOptionMouseMove(t,s.getOptionIndex(n,l))},ref_for:!0},s.getCheckboxPTOptions(e,l,n,"option"),{"data-p-selected":s.isSelected(e),"data-p-focused":i.focusedOptionIndex===s.getOptionIndex(n,l),"data-p-disabled":s.isOptionDisabled(e)}),[M(c,{defaultValue:s.isSelected(e),binary:!0,tabindex:-1,variant:t.variant,unstyled:t.unstyled,pt:s.getCheckboxPTOptions(e,l,n,"pcOptionCheckbox")},{icon:L((function(o){return[t.$slots.optioncheckboxicon||t.$slots.itemcheckboxicon?(m(),S(C(t.$slots.optioncheckboxicon||t.$slots.itemcheckboxicon),{key:0,checked:o.checked,class:$(o.class)},null,8,["checked","class"])):o.checked?(m(),S(C(t.checkboxIcon?"span":"CheckIcon"),I({key:1,class:[o.class,jn({},t.checkboxIcon,o.checked)],ref_for:!0},s.getCheckboxPTOptions(e,l,n,"pcOptionCheckbox.icon")),null,16,["class"])):z("",!0)]})),_:2},1032,["defaultValue","variant","unstyled","pt"]),v(t.$slots,"option",{option:e,selected:s.isSelected(e),index:s.getOptionIndex(n,l)},(function(){return[F("span",I({ref_for:!0},t.ptm("optionLabel")),x(s.getOptionLabel(e)),17)]}))],16,qn)),[[b]])],64)})),128)),i.filterValue&&(!r||r&&0===r.length)?(m(),g("li",I({key:0,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage")),[v(t.$slots,"emptyfilter",{},(function(){return[y(x(s.emptyFilterMessageText),1)]}))],16)):!t.options||t.options&&0===t.options.length?(m(),g("li",I({key:1,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage")),[v(t.$slots,"empty",{},(function(){return[y(x(s.emptyMessageText),1)]}))],16)):z("",!0)],16,Un)]})),_:2},[t.$slots.loader?{name:"loader",fn:L((function(e){var n=e.options;return[v(t.$slots,"loader",{options:n})]})),key:"0"}:void 0]),1040,["items","style","disabled","pt"])],16),v(t.$slots,"footer",{value:t.d_value,options:s.visibleOptions}),!t.options||t.options&&0===t.options.length?(m(),g("span",I({key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenEmptyMessage"),{"data-p-hidden-accessible":!0}),x(s.emptyMessageText),17)):z("",!0),F("span",I({role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenSelectedMessage"),{"data-p-hidden-accessible":!0}),x(s.selectedMessageText),17),F("span",I({ref:"lastHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[4]||(e[4]=function(){return s.onLastHiddenFocus&&s.onLastHiddenFocus.apply(s,arguments)})},t.ptm("hiddenLastFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16)],16)):z("",!0)]})),_:3},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:3},8,["appendTo"])],16)};var Wn=wt.extend({name:"contextmenu",theme:function(t){var e=t.dt;return"\n.p-contextmenu {\n background: ".concat(e("contextmenu.background"),";\n color: ").concat(e("contextmenu.color"),";\n border: 1px solid ").concat(e("contextmenu.border.color"),";\n border-radius: ").concat(e("contextmenu.border.radius"),";\n box-shadow: ").concat(e("contextmenu.shadow"),";\n min-width: 12.5rem;\n}\n\n.p-contextmenu-root-list,\n.p-contextmenu-submenu {\n margin: 0;\n padding: ").concat(e("contextmenu.list.padding"),";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(e("contextmenu.list.gap"),";\n}\n\n.p-contextmenu-submenu {\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n z-index: 1;\n background: ").concat(e("contextmenu.background"),";\n color: ").concat(e("contextmenu.color"),";\n border: 1px solid ").concat(e("contextmenu.border.color"),";\n border-radius: ").concat(e("contextmenu.border.radius"),";\n box-shadow: ").concat(e("contextmenu.shadow"),";\n}\n\n.p-contextmenu-item {\n position: relative;\n}\n\n.p-contextmenu-item-content {\n transition: background ").concat(e("contextmenu.transition.duration"),", color ").concat(e("contextmenu.transition.duration"),";\n border-radius: ").concat(e("contextmenu.item.border.radius"),";\n color: ").concat(e("contextmenu.item.color"),";\n}\n\n.p-contextmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(e("contextmenu.item.padding"),";\n gap: ").concat(e("contextmenu.item.gap"),";\n user-select: none;\n}\n\n.p-contextmenu-item-label {\n line-height: 1;\n}\n\n.p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.color"),";\n}\n\n.p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.color"),";\n margin-left: auto;\n font-size: ").concat(e("contextmenu.submenu.icon.size"),";\n width: ").concat(e("contextmenu.submenu.icon.size"),";\n height: ").concat(e("contextmenu.submenu.icon.size"),";\n}\n\n.p-contextmenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content {\n color: ").concat(e("contextmenu.item.focus.color"),";\n background: ").concat(e("contextmenu.item.focus.background"),";\n}\n\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.focus.color"),";\n}\n\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.focus.color"),";\n}\n\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover {\n color: ").concat(e("contextmenu.item.focus.color"),";\n background: ").concat(e("contextmenu.item.focus.background"),";\n}\n\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.focus.color"),";\n}\n\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.focus.color"),";\n}\n\n.p-contextmenu-item-active > .p-contextmenu-item-content {\n color: ").concat(e("contextmenu.item.active.color"),";\n background: ").concat(e("contextmenu.item.active.background"),";\n}\n\n.p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.active.color"),";\n}\n\n.p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.active.color"),";\n}\n\n.p-contextmenu-separator {\n border-block-start: 1px solid ").concat(e("contextmenu.separator.border.color"),";\n}\n\n.p-contextmenu-enter-from,\n.p-contextmenu-leave-active {\n opacity: 0;\n}\n\n.p-contextmenu-enter-active {\n transition: opacity 250ms;\n}\n\n.p-contextmenu-mobile .p-contextmenu-submenu {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(e("tieredmenu.submenu.mobile.indent"),";\n padding-inline-end: 0;\n}\n\n.p-contextmenu-mobile .p-contextmenu-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-contextmenu-mobile .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\n transform: rotate(-90deg);\n}\n")},classes:{root:function(t){return["p-contextmenu p-component",{"p-contextmenu-mobile":t.instance.queryMatches}]},rootList:"p-contextmenu-root-list",item:function(t){var e=t.instance,n=t.processedItem;return["p-contextmenu-item",{"p-contextmenu-item-active":e.isItemActive(n),"p-focus":e.isItemFocused(n),"p-disabled":e.isItemDisabled(n)}]},itemContent:"p-contextmenu-item-content",itemLink:"p-contextmenu-item-link",itemIcon:"p-contextmenu-item-icon",itemLabel:"p-contextmenu-item-label",submenuIcon:"p-contextmenu-submenu-icon",submenu:"p-contextmenu-submenu",separator:"p-contextmenu-separator"}}),Zn={name:"BaseContextMenu",extends:St,props:{model:{type:Array,default:null},appendTo:{type:[String,Object],default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},breakpoint:{type:String,default:"960px"},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:Wn,provide:function(){return{$pcContextMenu:this,$parentInstance:this}}},Xn={name:"ContextMenuSub",hostName:"ContextMenu",extends:St,emits:["item-click","item-mouseenter","item-mousemove"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(t){return"".concat(this.menuId,"_").concat(t.key)},getItemKey:function(t){return this.getItemId(t)},getItemProp:function(t,e,n){return t&&t.item?xt(t.item[e],n):void 0},getItemLabel:function(t){return this.getItemProp(t,"label")},getItemLabelId:function(t){return"".concat(this.menuId,"_").concat(t.key,"_label")},getPTOptions:function(t,e,n){return this.ptm(t,{context:{item:e.item,active:this.isItemActive(e),focused:this.isItemFocused(e),disabled:this.isItemDisabled(e),index:n}})},isItemActive:function(t){return this.activeItemPath.some((function(e){return e.key===t.key}))},isItemVisible:function(t){return!1!==this.getItemProp(t,"visible")},isItemDisabled:function(t){return this.getItemProp(t,"disabled")},isItemFocused:function(t){return this.focusedItemId===this.getItemId(t)},isItemGroup:function(t){return K(t.items)},onItemClick:function(t,e){this.getItemProp(e,"command",{originalEvent:t,item:e.item}),this.$emit("item-click",{originalEvent:t,processedItem:e,isFocus:!0})},onItemMouseEnter:function(t,e){this.$emit("item-mouseenter",{originalEvent:t,processedItem:e})},onItemMouseMove:function(t,e){this.$emit("item-mousemove",{originalEvent:t,processedItem:e,isFocus:!0})},getAriaSetSize:function(){var t=this;return this.items.filter((function(e){return t.isItemVisible(e)&&!t.getItemProp(e,"separator")})).length},getAriaPosInset:function(t){var e=this;return t-this.items.slice(0,t).filter((function(t){return e.isItemVisible(t)&&e.getItemProp(t,"separator")})).length+1},onEnter:function(){Ot(this.$refs.container,this.level)},getMenuItemProps:function(t,e){return{action:I({class:this.cx("itemLink"),tabindex:-1},this.getPTOptions("itemLink",t,e)),icon:I({class:[this.cx("itemIcon"),this.getItemProp(t,"icon")]},this.getPTOptions("itemIcon",t,e)),label:I({class:this.cx("itemLabel")},this.getPTOptions("itemLabel",t,e)),submenuicon:I({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",t,e))}}},components:{AngleRightIcon:Bt},directives:{ripple:Ae}},Yn=["tabindex"],Jn=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-active","data-p-focused","data-p-disabled"],Qn=["onClick","onMouseenter","onMousemove"],to=["href","target"],eo=["id"],no=["id"];Xn.render=function(t,e,n,o,i,s){var r=k("AngleRightIcon"),l=k("ContextMenuSub",!0),c=O("ripple");return m(),S(V,I({name:"p-contextmenusub",onEnter:s.onEnter},t.ptm("menu.transition")),{default:L((function(){return[n.root||n.visible?(m(),g("ul",I({key:0,ref:"container",tabindex:n.tabindex},t.ptm("rootList")),[(m(!0),g(_,null,E(n.items,(function(o,i){return m(),g(_,{key:s.getItemKey(o)},[s.isItemVisible(o)&&!s.getItemProp(o,"separator")?(m(),g("li",I({key:0,id:s.getItemId(o),style:s.getItemProp(o,"style"),class:[t.cx("item",{processedItem:o}),s.getItemProp(o,"class")],role:"menuitem","aria-label":s.getItemLabel(o),"aria-disabled":s.isItemDisabled(o)||void 0,"aria-expanded":s.isItemGroup(o)?s.isItemActive(o):void 0,"aria-haspopup":s.isItemGroup(o)&&!s.getItemProp(o,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":s.getAriaSetSize(),"aria-posinset":s.getAriaPosInset(i),ref_for:!0},s.getPTOptions("item",o,i),{"data-p-active":s.isItemActive(o),"data-p-focused":s.isItemFocused(o),"data-p-disabled":s.isItemDisabled(o)}),[F("div",I({class:t.cx("itemContent"),onClick:function(t){return s.onItemClick(t,o)},onMouseenter:function(t){return s.onItemMouseEnter(t,o)},onMousemove:function(t){return s.onItemMouseMove(t,o)},ref_for:!0},s.getPTOptions("itemContent",o,i)),[n.templates.item?(m(),S(C(n.templates.item),{key:1,item:o.item,hasSubmenu:s.getItemProp(o,"items"),label:s.getItemLabel(o),props:s.getMenuItemProps(o,i)},null,8,["item","hasSubmenu","label","props"])):w((m(),g("a",I({key:0,href:s.getItemProp(o,"url"),class:t.cx("itemLink"),target:s.getItemProp(o,"target"),tabindex:"-1",ref_for:!0},s.getPTOptions("itemLink",o,i)),[n.templates.itemicon?(m(),S(C(n.templates.itemicon),{key:0,item:o.item,class:$(t.cx("itemIcon"))},null,8,["item","class"])):s.getItemProp(o,"icon")?(m(),g("span",I({key:1,class:[t.cx("itemIcon"),s.getItemProp(o,"icon")],ref_for:!0},s.getPTOptions("itemIcon",o,i)),null,16)):z("",!0),F("span",I({id:s.getItemLabelId(o),class:t.cx("itemLabel"),ref_for:!0},s.getPTOptions("itemLabel",o,i)),x(s.getItemLabel(o)),17,eo),s.getItemProp(o,"items")?(m(),g(_,{key:2},[n.templates.submenuicon?(m(),S(C(n.templates.submenuicon),{key:0,active:s.isItemActive(o),class:$(t.cx("submenuIcon"))},null,8,["active","class"])):(m(),S(r,I({key:1,class:t.cx("submenuIcon"),ref_for:!0},s.getPTOptions("submenuicon",o,i)),null,16,["class"]))],64)):z("",!0)],16,to)),[[c]])],16,Qn),s.isItemVisible(o)&&s.isItemGroup(o)?(m(),S(l,I({key:0,id:s.getItemId(o)+"_list",role:"menu",class:t.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:o.items,templates:n.templates,activeItemPath:n.activeItemPath,level:n.level+1,visible:s.isItemActive(o)&&s.isItemGroup(o),pt:t.pt,unstyled:t.unstyled,onItemClick:e[0]||(e[0]=function(e){return t.$emit("item-click",e)}),onItemMouseenter:e[1]||(e[1]=function(e){return t.$emit("item-mouseenter",e)}),onItemMousemove:e[2]||(e[2]=function(e){return t.$emit("item-mousemove",e)}),"aria-labelledby":s.getItemLabelId(o),ref_for:!0},t.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled","aria-labelledby"])):z("",!0)],16,Jn)):z("",!0),s.isItemVisible(o)&&s.getItemProp(o,"separator")?(m(),g("li",I({key:1,id:s.getItemId(o),style:s.getItemProp(o,"style"),class:[t.cx("separator"),s.getItemProp(o,"class")],role:"separator",ref_for:!0},t.ptm("separator")),null,16,no)):z("",!0)],64)})),128))],16,Yn)):z("",!0)]})),_:1},16,["onEnter"])};var oo={name:"ContextMenu",extends:Zn,inheritAttrs:!1,emits:["focus","blur","show","hide","before-show","before-hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,matchMediaListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1,query:null,queryMatches:!1}},watch:{"$attrs.id":function(t){this.id=t||zt()},activeItemPath:function(t){K(t)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||zt(),this.bindMatchMediaListener(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.unbindMatchMediaListener(),this.container&&this.autoZIndex&&Q.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(t,e){return t?xt(t[e]):void 0},getItemLabel:function(t){return this.getItemProp(t,"label")},isItemDisabled:function(t){return this.getItemProp(t,"disabled")},isItemVisible:function(t){return!1!==this.getItemProp(t,"visible")},isItemGroup:function(t){return K(this.getItemProp(t,"items"))},isItemSeparator:function(t){return this.getItemProp(t,"separator")},getProccessedItemLabel:function(t){return t?this.getItemLabel(t.item):void 0},isProccessedItemGroup:function(t){return t&&K(t.items)},toggle:function(t){this.visible?this.hide():this.show(t)},show:function(t){this.$emit("before-show"),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},et(this.list),this.pageX=t.pageX,this.pageY=t.pageY,this.visible?this.position():this.visible=!0,t.stopPropagation(),t.preventDefault()},hide:function(){this.$emit("before-hide"),this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(t){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",t)},onBlur:function(t){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",t)},onKeyDown:function(t){var e=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":case"NumpadEnter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!e&&ot(t.key)&&this.searchItems(t,t.key)}},onItemChange:function(t,e){var n=t.processedItem,o=t.isFocus;if(!B(n)){var i=n.index,s=n.key,r=n.level,l=n.parentKey,c=n.items,a=K(c),d=this.activeItemPath.filter((function(t){return t.parentKey!==l&&t.parentKey!==s}));a&&(d.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:i,level:r,parentKey:l},o&&et(this.list),"hover"===e&&this.queryMatches||(this.activeItemPath=d)}},onItemClick:function(t){var e=t.processedItem,n=this.isProccessedItemGroup(e);if(this.isSelected(e)){var o=e.index,i=e.key,s=e.level,r=e.parentKey;this.activeItemPath=this.activeItemPath.filter((function(t){return i!==t.key&&i.startsWith(t.key)})),this.focusedItemInfo={index:o,level:s,parentKey:r},et(this.list)}else n?this.onItemChange(t):this.hide()},onItemMouseEnter:function(t){this.onItemChange(t,"hover")},onItemMouseMove:function(t){this.focused&&this.changeFocusedItemIndex(t,t.processedItem.index)},onArrowDownKey:function(t){var e=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(t,e),t.preventDefault()},onArrowUpKey:function(t){if(t.altKey){if(-1!==this.focusedItemInfo.index){var e=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(e)&&this.onItemChange({originalEvent:t,processedItem:e})}this.popup&&this.hide(),t.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(t,n),t.preventDefault()}},onArrowLeftKey:function(t){var e=this,n=this.visibleItems[this.focusedItemInfo.index],o=this.activeItemPath.find((function(t){return t.key===n.parentKey}));B(n.parent)||(this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowDownKey(t)),this.activeItemPath=this.activeItemPath.filter((function(t){return t.parentKey!==e.focusedItemInfo.parentKey})),t.preventDefault()},onArrowRightKey:function(t){var e=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(e)&&(this.onItemChange({originalEvent:t,processedItem:e}),this.focusedItemInfo={index:-1,parentKey:e.key},this.searchValue="",this.onArrowDownKey(t)),t.preventDefault()},onHomeKey:function(t){this.changeFocusedItemIndex(t,this.findFirstItemIndex()),t.preventDefault()},onEndKey:function(t){this.changeFocusedItemIndex(t,this.findLastItemIndex()),t.preventDefault()},onEnterKey:function(t){if(-1!==this.focusedItemInfo.index){var e=J(this.list,'li[id="'.concat("".concat(this.focusedItemIdx),'"]')),n=e&&J(e,'[data-pc-section="itemlink"]');n?n.click():e&&e.click();var o=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(o)&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}t.preventDefault()},onSpaceKey:function(t){this.onEnterKey(t)},onEscapeKey:function(t){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),t.preventDefault()},onTabKey:function(t){if(-1!==this.focusedItemInfo.index){var e=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(e)&&this.onItemChange({originalEvent:t,processedItem:e})}this.hide()},onEnter:function(t){rt(t,{position:"absolute"}),this.position(),this.autoZIndex&&Q.set("menu",t,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),et(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(t){this.autoZIndex&&Q.clear(t),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var t=this.pageX+1,e=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:It(this.container),o=this.container.offsetParent?this.container.offsetHeight:kt(this.container),i=gt(),s=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,r=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0;t+n-r>i.width&&(t-=n),e+o-s>i.height&&(e-=o),t-1?n+t+1:t},findPrevItemIndex:function(t){var e=this,n=t>0?pt(this.visibleItems.slice(0,t),(function(t){return e.isValidItem(t)})):-1;return n>-1?n:t},findSelectedItemIndex:function(){var t=this;return this.visibleItems.findIndex((function(e){return t.isValidSelectedItem(e)}))},findFirstFocusedItemIndex:function(){var t=this.findSelectedItemIndex();return t<0?this.findFirstItemIndex():t},findLastFocusedItemIndex:function(){var t=this.findSelectedItemIndex();return t<0?this.findLastItemIndex():t},searchItems:function(t,e){var n=this;this.searchValue=(this.searchValue||"")+e;var o=-1,i=!1;return-1!==(o=-1!==this.focusedItemInfo.index?-1===(o=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(t){return n.isItemMatched(t)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(t){return n.isItemMatched(t)})):o+this.focusedItemInfo.index:this.visibleItems.findIndex((function(t){return n.isItemMatched(t)})))&&(i=!0),-1===o&&-1===this.focusedItemInfo.index&&(o=this.findFirstFocusedItemIndex()),-1!==o&&this.changeFocusedItemIndex(t,o),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.searchTimeout=null}),500),i},changeFocusedItemIndex:function(t,e){this.focusedItemInfo.index!==e&&(this.focusedItemInfo.index=e,this.scrollInView())},scrollInView:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,e=-1!==t?"".concat(this.id,"_").concat(t):this.focusedItemIdx,n=J(this.list,'li[id="'.concat(e,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=[];return t&&t.forEach((function(t,r){var l=(""!==i?i+"_":"")+r,c={item:t,index:r,level:n,key:l,parent:o,parentKey:i};c.items=e.createProcessedItems(t.items,n+1,c,l),s.push(c)})),s},containerRef:function(t){this.container=t},listRef:function(t){this.list=t?t.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var t=this,e=this.activeItemPath.find((function(e){return e.key===t.focusedItemInfo.parentKey}));return e?e.items:this.processedItems},focusedItemIdx:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(K(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:Xn,Portal:We}};oo.render=function(t,e,n,o,i,s){var r=k("ContextMenuSub"),l=k("Portal");return m(),S(l,{appendTo:t.appendTo},{default:L((function(){return[M(V,I({name:"p-contextmenu",onEnter:s.onEnter,onAfterEnter:s.onAfterEnter,onLeave:s.onLeave,onAfterLeave:s.onAfterLeave},t.ptm("transition")),{default:L((function(){return[i.visible?(m(),g("div",I({key:0,ref:s.containerRef,class:t.cx("root")},t.ptmi("root")),[M(r,{ref:s.listRef,id:i.id+"_list",class:$(t.cx("rootList")),role:"menubar",root:!0,tabindex:t.tabindex,"aria-orientation":"vertical","aria-activedescendant":i.focused?s.focusedItemIdx:void 0,menuId:i.id,focusedItemId:i.focused?s.focusedItemIdx:void 0,items:s.processedItems,templates:t.$slots,activeItemPath:i.activeItemPath,"aria-labelledby":t.ariaLabelledby,"aria-label":t.ariaLabel,level:0,visible:i.submenuVisible,pt:t.pt,unstyled:t.unstyled,onFocus:s.onFocus,onBlur:s.onBlur,onKeydown:s.onKeyDown,onItemClick:s.onItemClick,onItemMouseenter:s.onItemMouseEnter,onItemMousemove:s.onItemMouseMove},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter","onItemMousemove"])],16)):z("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])};var io={name:"Card",extends:{name:"BaseCard",extends:St,style:wt.extend({name:"card",theme:function(t){var e=t.dt;return"\n.p-card {\n background: ".concat(e("card.background"),";\n color: ").concat(e("card.color"),";\n box-shadow: ").concat(e("card.shadow"),";\n border-radius: ").concat(e("card.border.radius"),";\n display: flex;\n flex-direction: column;\n}\n\n.p-card-caption {\n display: flex;\n flex-direction: column;\n gap: ").concat(e("card.caption.gap"),";\n}\n\n.p-card-body {\n padding: ").concat(e("card.body.padding"),";\n display: flex;\n flex-direction: column;\n gap: ").concat(e("card.body.gap"),";\n}\n\n.p-card-title {\n font-size: ").concat(e("card.title.font.size"),";\n font-weight: ").concat(e("card.title.font.weight"),";\n}\n\n.p-card-subtitle {\n color: ").concat(e("card.subtitle.color"),";\n}\n")},classes:{root:"p-card p-component",header:"p-card-header",body:"p-card-body",caption:"p-card-caption",title:"p-card-title",subtitle:"p-card-subtitle",content:"p-card-content",footer:"p-card-footer"}}),provide:function(){return{$pcCard:this,$parentInstance:this}}},inheritAttrs:!1};io.render=function(t,e,n,o,i,s){return m(),g("div",I({class:t.cx("root")},t.ptmi("root")),[t.$slots.header?(m(),g("div",I({key:0,class:t.cx("header")},t.ptm("header")),[v(t.$slots,"header")],16)):z("",!0),F("div",I({class:t.cx("body")},t.ptm("body")),[t.$slots.title||t.$slots.subtitle?(m(),g("div",I({key:0,class:t.cx("caption")},t.ptm("caption")),[t.$slots.title?(m(),g("div",I({key:0,class:t.cx("title")},t.ptm("title")),[v(t.$slots,"title")],16)):z("",!0),t.$slots.subtitle?(m(),g("div",I({key:1,class:t.cx("subtitle")},t.ptm("subtitle")),[v(t.$slots,"subtitle")],16)):z("",!0)],16)):z("",!0),F("div",I({class:t.cx("content")},t.ptm("content")),[v(t.$slots,"content")],16),t.$slots.footer?(m(),g("div",I({key:1,class:t.cx("footer")},t.ptm("footer")),[v(t.$slots,"footer")],16)):z("",!0)],16)],16)};export{kn as T,dn as a,Dn as b,ie as c,oe as d,io as e,Ue as f,Ge as g,Le as h,Re as i,oo as j,Nt as k,je as s}; +let jt;const Ht=t=>jt=t,Rt=Symbol();function Gt(t){return t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)&&"function"!=typeof t.toJSON}var Ut,Nt;function qt(){const o=t(!0),i=o.run((()=>e({})));let r=[],s=[];const l=n({install(t){Ht(l),l._a=t,t.provide(Rt,l),t.config.globalProperties.$pinia=l,s.forEach((t=>r.push(t))),s=[]},use(t){return this._a?r.push(t):s.push(t),this},_p:r,_a:null,_e:o,_s:new Map,state:i});return l}(Nt=Ut||(Ut={})).direct="direct",Nt.patchObject="patch object",Nt.patchFunction="patch function";const Wt=()=>{};function Zt(t,e,n,o=Wt){t.push(e);const i=()=>{const n=t.indexOf(e);n>-1&&(t.splice(n,1),o())};return!n&&u()&&d(i),i}function Xt(t,...e){t.slice().forEach((t=>{t(...e)}))}const Yt=t=>t(),Jt=Symbol(),Qt=Symbol();function te(t,e){t instanceof Map&&e instanceof Map?e.forEach(((e,n)=>t.set(n,e))):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const o=e[n],s=t[n];Gt(s)&&Gt(o)&&t.hasOwnProperty(n)&&!i(o)&&!r(o)?t[n]=te(s,o):t[n]=o}return t}const ee=Symbol();const{assign:ne}=Object;function oe(n,s,a={},u,d,h){let f;const b=ne({actions:{}},a),m={deep:!0};let g,v,y,x=[],I=[];const k=u.state.value[n];let O;function w(t){let e;g=v=!1,"function"==typeof t?(t(u.state.value[n]),e={type:Ut.patchFunction,storeId:n,events:y}):(te(u.state.value[n],t),e={type:Ut.patchObject,payload:t,storeId:n,events:y});const o=O=Symbol();p().then((()=>{O===o&&(g=!0)})),v=!0,Xt(x,e,u.state.value[n])}h||k||(u.state.value[n]={}),e({});const S=h?function(){const{state:t}=a,e=t?t():{};this.$patch((t=>{ne(t,e)}))}:Wt;const L=(t,e="")=>{if(Jt in t)return t[Qt]=e,t;const o=function(){Ht(u);const e=Array.from(arguments),i=[],r=[];let s;Xt(I,{args:e,name:o[Qt],store:$,after:function(t){i.push(t)},onError:function(t){r.push(t)}});try{s=t.apply(this&&this.$id===n?this:$,e)}catch(l){throw Xt(r,l),l}return s instanceof Promise?s.then((t=>(Xt(i,t),t))).catch((t=>(Xt(r,t),Promise.reject(t)))):(Xt(i,s),s)};return o[Jt]=!0,o[Qt]=e,o},C={_p:u,$id:n,$onAction:Zt.bind(null,I),$patch:w,$reset:S,$subscribe(t,e={}){const o=Zt(x,t,e.detached,(()=>i())),i=f.run((()=>l((()=>u.state.value[n]),(o=>{("sync"===e.flush?v:g)&&t({storeId:n,type:Ut.direct,events:y},o)}),ne({},m,e))));return o},$dispose:function(){f.stop(),x=[],I=[],u._s.delete(n)}},$=c(C);u._s.set(n,$);const z=(u._a&&u._a.runWithContext||Yt)((()=>u._e.run((()=>(f=t()).run((()=>s({action:L})))))));for(const t in z){const e=z[t];if(i(e)&&(!i(_=e)||!_.effect)||r(e))h||(!k||Gt(T=e)&&T.hasOwnProperty(ee)||(i(e)?e.value=k[t]:te(e,k[t])),u.state.value[n][t]=e);else if("function"==typeof e){const n=L(e,t);z[t]=n,b.actions[t]=e}}var T,_;return ne($,z),ne(o($),z),Object.defineProperty($,"$state",{get:()=>u.state.value[n],set:t=>{w((e=>{ne(e,t)}))}}),u._p.forEach((t=>{ne($,f.run((()=>t({store:$,app:u._a,pinia:u,options:b}))))})),k&&h&&a.hydrate&&a.hydrate($.$state,k),g=!0,v=!0,$}function ie(t,e,o){let i,r;const s="function"==typeof e;function l(t,o){const l=h();(t=t||(l?a(Rt,null):null))&&Ht(t),(t=jt)._s.has(i)||(s?oe(i,e,r,t):function(t,e,o){const{state:i,actions:r,getters:s}=e,l=o.state.value[t];let c;c=oe(t,(function(){l||(o.state.value[t]=i?i():{});const e=f(o.state.value[t]);return ne(e,r,Object.keys(s||{}).reduce(((e,i)=>(e[i]=n(b((()=>{Ht(o);const e=o._s.get(t);return s[i].call(e,e)}))),e)),{}))}),e,o,0,!0)}(i,r,t));return t._s.get(i)}return"string"==typeof t?(i=t,r=s?o:e):(r=t,i=t.id),l.$id=i,l}function re(t){{t=o(t);const e={};for(const n in t){const o=t[n];(i(o)||r(o))&&(e[n]=s(t,n))}return e}}const se="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function le(t,e,n,o){t.addEventListener?t.addEventListener(e,n,o):t.attachEvent&&t.attachEvent("on".concat(e),n)}function ce(t,e,n,o){t.removeEventListener?t.removeEventListener(e,n,o):t.detachEvent&&t.detachEvent("on".concat(e),n)}function ae(t,e){const n=e.slice(0,e.length-1);for(let o=0;o=0;)e[n-1]+=",",e.splice(n,1),n=e.lastIndexOf("");return e}const de={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":se?173:189,"=":se?61:187,";":se?59:186,"'":222,"[":219,"]":221,"\\":220},pe={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},he={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},fe={16:!1,18:!1,17:!1,91:!1},be={};for(let mo=1;mo<20;mo++)de["f".concat(mo)]=111+mo;let me=[],ge=null,ve="all";const ye=new Map,xe=t=>de[t.toLowerCase()]||pe[t.toLowerCase()]||t.toUpperCase().charCodeAt(0);function Ie(t){ve=t||"all"}function ke(){return ve||"all"}function Oe(t){if(void 0===t)Object.keys(be).forEach((t=>{Array.isArray(be[t])&&be[t].forEach((t=>we(t))),delete be[t]})),$e(null);else if(Array.isArray(t))t.forEach((t=>{t.key&&we(t)}));else if("object"==typeof t)t.key&&we(t);else if("string"==typeof t){for(var e=arguments.length,n=new Array(e>1?e-1:0),o=1;o{let{key:e,scope:n,method:o,splitKey:i="+"}=t;ue(e).forEach((t=>{const e=t.split(i),r=e.length,s=e[r-1],l="*"===s?"*":xe(s);if(!be[l])return;n||(n=ke());const c=r>1?ae(pe,e):[],a=[];be[l]=be[l].filter((t=>{const e=(!o||t.method===o)&&t.scope===n&&function(t,e){const n=t.length>=e.length?t:e,o=t.length>=e.length?e:t;let i=!0;for(let r=0;r$e(t)))}))};function Se(t,e,n,o){if(e.element!==o)return;let i;if(e.scope===n||"all"===e.scope){i=e.mods.length>0;for(const t in fe)Object.prototype.hasOwnProperty.call(fe,t)&&(!fe[t]&&e.mods.indexOf(+t)>-1||fe[t]&&-1===e.mods.indexOf(+t))&&(i=!1);(0!==e.mods.length||fe[16]||fe[18]||fe[17]||fe[91])&&!i&&"*"!==e.shortcut||(e.keys=[],e.keys=e.keys.concat(me),!1===e.method(t,e)&&(t.preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.cancelBubble&&(t.cancelBubble=!0)))}}function Le(t,e){const n=be["*"];let o=t.keyCode||t.which||t.charCode;if(!Ce.filter.call(this,t))return;if(93!==o&&224!==o||(o=91),-1===me.indexOf(o)&&229!==o&&me.push(o),["ctrlKey","altKey","shiftKey","metaKey"].forEach((e=>{const n=he[e];t[e]&&-1===me.indexOf(n)?me.push(n):!t[e]&&me.indexOf(n)>-1?me.splice(me.indexOf(n),1):"metaKey"===e&&t[e]&&3===me.length&&(t.ctrlKey||t.shiftKey||t.altKey||(me=me.slice(me.indexOf(n))))})),o in fe){fe[o]=!0;for(const t in pe)pe[t]===o&&(Ce[t]=!0);if(!n)return}for(const l in fe)Object.prototype.hasOwnProperty.call(fe,l)&&(fe[l]=t[he[l]]);t.getModifierState&&(!t.altKey||t.ctrlKey)&&t.getModifierState("AltGraph")&&(-1===me.indexOf(17)&&me.push(17),-1===me.indexOf(18)&&me.push(18),fe[17]=!0,fe[18]=!0);const i=ke();if(n)for(let l=0;l1&&(i=ae(pe,t)),(t="*"===(t=t[t.length-1])?"*":xe(t))in be||(be[t]=[]),be[t].push({keyup:c,keydown:a,scope:r,mods:i,shortcut:o[l],method:n,key:o[l],splitKey:u,element:s});if(void 0!==s&&window){if(!ye.has(s)){const t=function(){return Le(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,s)},e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event;Le(t,s),function(t){let e=t.keyCode||t.which||t.charCode;const n=me.indexOf(e);if(n>=0&&me.splice(n,1),t.key&&"meta"===t.key.toLowerCase()&&me.splice(0,me.length),93!==e&&224!==e||(e=91),e in fe){fe[e]=!1;for(const t in pe)pe[t]===e&&(Ce[t]=!1)}}(t)};ye.set(s,{keydownListener:t,keyupListenr:e,capture:d}),le(s,"keydown",t,d),le(s,"keyup",e,d)}if(!ge){const t=()=>{me=[]};ge={listener:t,capture:d},le(window,"focus",t,d)}}}function $e(t){const e=Object.values(be).flat();if(e.findIndex((e=>{let{element:n}=e;return n===t}))<0){const{keydownListener:e,keyupListenr:n,capture:o}=ye.get(t)||{};e&&n&&(ce(t,"keyup",n,o),ce(t,"keydown",e,o),ye.delete(t))}if(e.length<=0||ye.size<=0){if(Object.keys(ye).forEach((t=>{const{keydownListener:e,keyupListenr:n,capture:o}=ye.get(t)||{};e&&n&&(ce(t,"keyup",n,o),ce(t,"keydown",e,o),ye.delete(t))})),ye.clear(),Object.keys(be).forEach((t=>delete be[t])),ge){const{listener:t,capture:e}=ge;ce(window,"focus",t,e),ge=null}}}const ze={getPressedKeyString:function(){return me.map((t=>{return e=t,Object.keys(de).find((t=>de[t]===e))||(t=>Object.keys(pe).find((e=>pe[e]===t)))(t)||String.fromCharCode(t);var e}))},setScope:Ie,getScope:ke,deleteScope:function(t,e){let n,o;t||(t=ke());for(const i in be)if(Object.prototype.hasOwnProperty.call(be,i))for(n=be[i],o=0;o{let{element:e}=t;return $e(e)}))}else o++;ke()===t&&Ie(e||"all")},getPressedKeyCodes:function(){return me.slice(0)},getAllKeyCodes:function(){const t=[];return Object.keys(be).forEach((e=>{be[e].forEach((e=>{let{key:n,scope:o,mods:i,shortcut:r}=e;t.push({scope:o,shortcut:r,mods:i,keys:n.split("+").map((t=>xe(t)))})}))})),t},isPressed:function(t){return"string"==typeof t&&(t=xe(t)),-1!==me.indexOf(t)},filter:function(t){const e=t.target||t.srcElement,{tagName:n}=e;let o=!0;const i="INPUT"===n&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(i||"TEXTAREA"===n||"SELECT"===n)&&!e.readOnly)&&(o=!1),o},trigger:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(be).forEach((n=>{be[n].filter((n=>n.scope===e&&n.shortcut===t)).forEach((t=>{t&&t.method&&t.method()}))}))},unbind:Oe,keyMap:de,modifier:pe,modifierMap:he};for(const mo in ze)Object.prototype.hasOwnProperty.call(ze,mo)&&(Ce[mo]=ze[mo]);if("undefined"!=typeof window){const t=window.hotkeys;Ce.noConflict=e=>(e&&window.hotkeys===Ce&&(window.hotkeys=t),Ce),window.hotkeys=Ce}var Te={root:function(t){var e=t.props,n=t.instance;return["p-badge p-component",{"p-badge-circle":K(e.value)&&1===String(e.value).length,"p-badge-dot":B(e.value)&&!n.$slots.default,"p-badge-sm":"small"===e.size,"p-badge-lg":"large"===e.size,"p-badge-xl":"xlarge"===e.size,"p-badge-info":"info"===e.severity,"p-badge-success":"success"===e.severity,"p-badge-warn":"warn"===e.severity,"p-badge-danger":"danger"===e.severity,"p-badge-secondary":"secondary"===e.severity,"p-badge-contrast":"contrast"===e.severity}]}},_e=wt.extend({name:"badge",theme:function(t){var e=t.dt;return"\n.p-badge {\n display: inline-flex;\n border-radius: ".concat(e("badge.border.radius"),";\n align-items: center;\n justify-content: center;\n padding: ").concat(e("badge.padding"),";\n background: ").concat(e("badge.primary.background"),";\n color: ").concat(e("badge.primary.color"),";\n font-size: ").concat(e("badge.font.size"),";\n font-weight: ").concat(e("badge.font.weight"),";\n min-width: ").concat(e("badge.min.width"),";\n height: ").concat(e("badge.height"),";\n}\n\n.p-badge-dot {\n width: ").concat(e("badge.dot.size"),";\n min-width: ").concat(e("badge.dot.size"),";\n height: ").concat(e("badge.dot.size"),";\n border-radius: 50%;\n padding: 0;\n}\n\n.p-badge-circle {\n padding: 0;\n border-radius: 50%;\n}\n\n.p-badge-secondary {\n background: ").concat(e("badge.secondary.background"),";\n color: ").concat(e("badge.secondary.color"),";\n}\n\n.p-badge-success {\n background: ").concat(e("badge.success.background"),";\n color: ").concat(e("badge.success.color"),";\n}\n\n.p-badge-info {\n background: ").concat(e("badge.info.background"),";\n color: ").concat(e("badge.info.color"),";\n}\n\n.p-badge-warn {\n background: ").concat(e("badge.warn.background"),";\n color: ").concat(e("badge.warn.color"),";\n}\n\n.p-badge-danger {\n background: ").concat(e("badge.danger.background"),";\n color: ").concat(e("badge.danger.color"),";\n}\n\n.p-badge-contrast {\n background: ").concat(e("badge.contrast.background"),";\n color: ").concat(e("badge.contrast.color"),";\n}\n\n.p-badge-sm {\n font-size: ").concat(e("badge.sm.font.size"),";\n min-width: ").concat(e("badge.sm.min.width"),";\n height: ").concat(e("badge.sm.height"),";\n}\n\n.p-badge-lg {\n font-size: ").concat(e("badge.lg.font.size"),";\n min-width: ").concat(e("badge.lg.min.width"),";\n height: ").concat(e("badge.lg.height"),";\n}\n\n.p-badge-xl {\n font-size: ").concat(e("badge.xl.font.size"),";\n min-width: ").concat(e("badge.xl.min.width"),";\n height: ").concat(e("badge.xl.height"),";\n}\n")},classes:Te}),Fe={name:"Badge",extends:{name:"BaseBadge",extends:St,props:{value:{type:[String,Number],default:null},severity:{type:String,default:null},size:{type:String,default:null}},style:_e,provide:function(){return{$pcBadge:this,$parentInstance:this}}},inheritAttrs:!1};Fe.render=function(t,e,n,o,i,r){return m(),g("span",I({class:t.cx("root")},t.ptmi("root")),[v(t.$slots,"default",{},(function(){return[y(x(t.value),1)]}))],16)};var Ee=wt.extend({name:"ripple-directive",theme:function(t){var e=t.dt;return"\n.p-ink {\n display: block;\n position: absolute;\n background: ".concat(e("ripple.background"),";\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n")},classes:{root:"p-ink"}});function Ve(t){return(Ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Me(t){return function(t){if(Array.isArray(t))return Ae(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ae(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ae(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ae(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n .p-virtualscroller-content {\n display: flex;\n}\n\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n",theme:function(t){var e=t.dt;return"\n.p-virtualscroller-loader {\n background: ".concat(e("virtualscroller.loader.mask.background"),";\n color: ").concat(e("virtualscroller.loader.mask.color"),";\n}\n\n.p-virtualscroller-loading-icon {\n font-size: ").concat(e("virtualscroller.loader.icon.size"),";\n width: ").concat(e("virtualscroller.loader.icon.size"),";\n height: ").concat(e("virtualscroller.loader.icon.size"),";\n}\n")}});function Ye(t){return(Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Je(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function Qe(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"auto",o=this.isBoth(),i=this.isHorizontal();if(o?t.every((function(t){return t>-1})):t>-1){var r=this.first,s=this.element,l=s.scrollTop,c=void 0===l?0:l,a=s.scrollLeft,u=void 0===a?0:a,d=this.calculateNumItems().numToleratedItems,p=this.getContentPosition(),h=this.itemSize,f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return t<=(arguments.length>1?arguments[1]:void 0)?0:t},b=function(t,e,n){return t*e+n},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.scrollTo({left:t,top:o,behavior:n})},g=o?{rows:0,cols:0}:0,v=!1,y=!1;o?(m(b((g={rows:f(t[0],d[0]),cols:f(t[1],d[1])}).cols,h[1],p.left),b(g.rows,h[0],p.top)),y=this.lastScrollPos.top!==c||this.lastScrollPos.left!==u,v=g.rows!==r.rows||g.cols!==r.cols):(g=f(t,d),i?m(b(g,h,p.left),c):m(u,b(g,h,p.top)),y=this.lastScrollPos!==(i?u:c),v=g!==r),this.isRangeChanged=v,y&&(this.first=g)}},scrollInView:function(t,e){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(e){var i=this.isBoth(),r=this.isHorizontal();if(i?t.every((function(t){return t>-1})):t>-1){var s=this.getRenderedRange(),l=s.first,c=s.viewport,a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return n.scrollTo({left:t,top:e,behavior:o})},u="to-end"===e;if("to-start"===e){if(i)c.first.rows-l.rows>t[0]?a(c.first.cols*this.itemSize[1],(c.first.rows-1)*this.itemSize[0]):c.first.cols-l.cols>t[1]&&a((c.first.cols-1)*this.itemSize[1],c.first.rows*this.itemSize[0]);else if(c.first-l>t){var d=(c.first-1)*this.itemSize;r?a(d,0):a(0,d)}}else if(u)if(i)c.last.rows-l.rows<=t[0]+1?a(c.first.cols*this.itemSize[1],(c.first.rows+1)*this.itemSize[0]):c.last.cols-l.cols<=t[1]+1&&a((c.first.cols+1)*this.itemSize[1],c.first.rows*this.itemSize[0]);else if(c.last-l<=t+1){var p=(c.first+1)*this.itemSize;r?a(p,0):a(0,p)}}}else this.scrollToIndex(t,o)},getRenderedRange:function(){var t=function(t,e){return Math.floor(t/(e||t))},e=this.first,n=0;if(this.element){var o=this.isBoth(),i=this.isHorizontal(),r=this.element,s=r.scrollTop,l=r.scrollLeft;if(o)n={rows:(e={rows:t(s,this.itemSize[0]),cols:t(l,this.itemSize[1])}).rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else n=(e=t(i?l:s,this.itemSize))+this.numItemsInViewport}return{first:this.first,last:this.last,viewport:{first:e,last:n}}},calculateNumItems:function(){var t=this.isBoth(),e=this.isHorizontal(),n=this.itemSize,o=this.getContentPosition(),i=this.element?this.element.offsetWidth-o.left:0,r=this.element?this.element.offsetHeight-o.top:0,s=function(t,e){return Math.ceil(t/(e||t))},l=function(t){return Math.ceil(t/2)},c=t?{rows:s(r,n[0]),cols:s(i,n[1])}:s(e?i:r,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(t?[l(c.rows),l(c.cols)]:l(c))}},calculateOptions:function(){var t=this,e=this.isBoth(),n=this.first,o=this.calculateNumItems(),i=o.numItemsInViewport,r=o.numToleratedItems,s=function(e,n,o){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return t.getLast(e+n+(e0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1?arguments[1]:void 0;return this.items?Math.min(o?(null===(t=this.columns||this.items[0])||void 0===t?void 0:t.length)||0:(null===(e=this.items)||void 0===e?void 0:e.length)||0,n):0},getContentPosition:function(){if(this.content){var t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),n=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),o=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),i=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:n,top:o,bottom:i,x:e+n,y:o+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize:function(){var t=this;if(this.element){var e=this.isBoth(),n=this.isHorizontal(),o=this.element.parentElement,i=this.scrollWidth||"".concat(this.element.offsetWidth||o.offsetWidth,"px"),r=this.scrollHeight||"".concat(this.element.offsetHeight||o.offsetHeight,"px"),s=function(e,n){return t.element.style[e]=n};e||n?(s("height",r),s("width",i)):s("height",r)}},setSpacerSize:function(){var t=this,e=this.items;if(e){var n=this.isBoth(),o=this.isHorizontal(),i=this.getContentPosition(),r=function(e,n,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return t.spacerStyle=Qe(Qe({},t.spacerStyle),tn({},"".concat(e),(n||[]).length*o+i+"px"))};n?(r("height",e,this.itemSize[0],i.y),r("width",this.columns||e[1],this.itemSize[1],i.x)):o?r("width",this.columns||e,this.itemSize,i.x):r("height",e,this.itemSize,i.y)}},setContentPosition:function(t){var e=this;if(this.content&&!this.appendOnly){var n=this.isBoth(),o=this.isHorizontal(),i=t?t.first:this.first,r=function(t,e){return t*e},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.contentStyle=Qe(Qe({},e.contentStyle),{transform:"translate3d(".concat(t,"px, ").concat(n,"px, 0)")})};if(n)s(r(i.cols,this.itemSize[1]),r(i.rows,this.itemSize[0]));else{var l=r(i,this.itemSize);o?s(l,0):s(0,l)}}},onScrollPositionChange:function(t){var e=this,n=t.target,o=this.isBoth(),i=this.isHorizontal(),r=this.getContentPosition(),s=function(t,e){return t?t>e?t-e:t:0},l=function(t,e){return Math.floor(t/(e||t))},c=function(t,e,n,o,i,r){return t<=i?i:r?n-o-i:e+i-1},a=function(t,e,n,o,i,r,s){return t<=r?0:Math.max(0,s?te?n:t-2*r)},u=function(t,n,o,i,r,s){var l=n+i+2*r;return t>=r&&(l+=r+1),e.getLast(l,s)},d=s(n.scrollTop,r.top),p=s(n.scrollLeft,r.left),h=o?{rows:0,cols:0}:0,f=this.last,b=!1,m=this.lastScrollPos;if(o){var g=this.lastScrollPos.top<=d,v=this.lastScrollPos.left<=p;if(!this.appendOnly||this.appendOnly&&(g||v)){var y={rows:l(d,this.itemSize[0]),cols:l(p,this.itemSize[1])},x={rows:c(y.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],g),cols:c(y.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],v)};h={rows:a(y.rows,x.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],g),cols:a(y.cols,x.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],v)},f={rows:u(y.rows,h.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:u(y.cols,h.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},b=h.rows!==this.first.rows||f.rows!==this.last.rows||h.cols!==this.first.cols||f.cols!==this.last.cols||this.isRangeChanged,m={top:d,left:p}}}else{var I=i?p:d,k=this.lastScrollPos<=I;if(!this.appendOnly||this.appendOnly&&k){var O=l(I,this.itemSize);f=u(O,h=a(O,c(O,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,k),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,k),this.last,this.numItemsInViewport,this.d_numToleratedItems),b=h!==this.first||f!==this.last||this.isRangeChanged,m=I}}return{first:h,last:f,isRangeChanged:b,scrollPos:m}},onScrollChange:function(t){var e=this.onScrollPositionChange(t),n=e.first,o=e.last,i=e.isRangeChanged,r=e.scrollPos;if(i){var s={first:n,last:o};if(this.setContentPosition(s),this.first=n,this.last=o,this.lastScrollPos=r,this.$emit("scroll-index-change",s),this.lazy&&this.isPageChanged(n)){var l,c,a={first:this.step?Math.min(this.getPageByFirst(n)*this.step,((null===(l=this.items)||void 0===l?void 0:l.length)||0)-this.step):n,last:Math.min(this.step?(this.getPageByFirst(n)+1)*this.step:o,(null===(c=this.items)||void 0===c?void 0:c.length)||0)};(this.lazyLoadState.first!==a.first||this.lazyLoadState.last!==a.last)&&this.$emit("lazy-load",a),this.lazyLoadState=a}}},onScroll:function(t){var e=this;if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader)(this.onScrollPositionChange(t).isRangeChanged||!!this.step&&this.isPageChanged())&&(this.d_loading=!0);this.scrollTimeout=setTimeout((function(){e.onScrollChange(t),!e.d_loading||!e.showLoader||e.lazy&&void 0!==e.loading||(e.d_loading=!1,e.page=e.getPageByFirst())}),this.delay)}}else this.onScrollChange(t)},onResize:function(){var t=this;this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((function(){if(Y(t.element)){var e=t.isBoth(),n=t.isVertical(),o=t.isHorizontal(),i=[R(t.element),H(t.element)],r=i[0],s=i[1],l=r!==t.defaultWidth,c=s!==t.defaultHeight;(e?l||c:o?l:!!n&&c)&&(t.d_numToleratedItems=t.numToleratedItems,t.defaultWidth=r,t.defaultHeight=s,t.defaultContentWidth=R(t.content),t.defaultContentHeight=H(t.content),t.init())}}),this.resizeDelay)},bindResizeListener:function(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions:function(t){var e=(this.items||[]).length,n=this.isBoth()?this.first.rows+t:this.first+t;return{index:n,count:e,first:0===n,last:n===e-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions:function(t,e){var n=this.loaderArr.length;return Qe({index:t,count:n,first:0===t,last:t===n-1,even:t%2==0,odd:t%2!=0},e)},getPageByFirst:function(t){return Math.floor(((null!=t?t:this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged:function(t){return!(this.step&&!this.lazy)||this.page!==this.getPageByFirst(null!=t?t:this.first)},setContentEl:function(t){this.content=t||this.content||J(this.element,'[data-pc-section="content"]')},elementRef:function(t){this.element=t},contentRef:function(t){this.content=t}},computed:{containerClass:function(){return["p-virtualscroller",this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()}]},contentClass:function(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass:function(){return["p-virtualscroller-loader",{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems:function(){var t=this;return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((function(e){return t.columns?e:e.slice(t.appendOnly?0:t.first.cols,t.last.cols)})):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows:function(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns:function(){if(this.columns){var t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}},components:{SpinnerIcon:Ct}},nn=["tabindex"];en.render=function(t,e,n,o,i,r){var s=k("SpinnerIcon");return t.disabled?(m(),g(F,{key:1},[v(t.$slots,"default"),v(t.$slots,"content",{items:t.items,rows:t.items,columns:r.loadedColumns})],64)):(m(),g("div",I({key:0,ref:r.elementRef,class:r.containerClass,tabindex:t.tabindex,style:t.style,onScroll:e[0]||(e[0]=function(){return r.onScroll&&r.onScroll.apply(r,arguments)})},t.ptmi("root")),[v(t.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:i.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:t.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(function(){return[$("div",I({ref:r.contentRef,class:r.contentClass,style:i.contentStyle},t.ptm("content")),[(m(!0),g(F,null,E(r.loadedItems,(function(e,n){return v(t.$slots,"item",{key:n,item:e,options:r.getOptions(n)})})),128))],16)]})),t.showSpacer?(m(),g("div",I({key:0,class:"p-virtualscroller-spacer",style:i.spacerStyle},t.ptm("spacer")),null,16)):C("",!0),!t.loaderDisabled&&t.showLoader&&i.d_loading?(m(),g("div",I({key:1,class:r.loaderClass},t.ptm("loader")),[t.$slots&&t.$slots.loader?(m(!0),g(F,{key:0},E(i.loaderArr,(function(e,n){return v(t.$slots,"loader",{key:n,options:r.getLoaderOptions(n,r.isBoth()&&{numCols:t.d_numItemsInViewport.cols})})})),128)):C("",!0),v(t.$slots,"loadingicon",{},(function(){return[V(s,I({spin:"",class:"p-virtualscroller-loading-icon"},t.ptm("loadingIcon")),null,16)]}))],16)):C("",!0)],16,nn))};var on=wt.extend({name:"select",theme:function(t){var e=t.dt;return"\n.p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(e("select.background"),";\n border: 1px solid ").concat(e("select.border.color"),";\n transition: background ").concat(e("select.transition.duration"),", color ").concat(e("select.transition.duration"),", border-color ").concat(e("select.transition.duration"),",\n outline-color ").concat(e("select.transition.duration"),", box-shadow ").concat(e("select.transition.duration"),";\n border-radius: ").concat(e("select.border.radius"),";\n outline-color: transparent;\n box-shadow: ").concat(e("select.shadow"),";\n}\n\n.p-select:not(.p-disabled):hover {\n border-color: ").concat(e("select.hover.border.color"),";\n}\n\n.p-select:not(.p-disabled).p-focus {\n border-color: ").concat(e("select.focus.border.color"),";\n box-shadow: ").concat(e("select.focus.ring.shadow"),";\n outline: ").concat(e("select.focus.ring.width")," ").concat(e("select.focus.ring.style")," ").concat(e("select.focus.ring.color"),";\n outline-offset: ").concat(e("select.focus.ring.offset"),";\n}\n\n.p-select.p-variant-filled {\n background: ").concat(e("select.filled.background"),";\n}\n\n.p-select.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(e("select.filled.hover.background"),";\n}\n\n.p-select.p-variant-filled:not(.p-disabled).p-focus {\n background: ").concat(e("select.filled.focus.background"),";\n}\n\n.p-select.p-invalid {\n border-color: ").concat(e("select.invalid.border.color"),";\n}\n\n.p-select.p-disabled {\n opacity: 1;\n background: ").concat(e("select.disabled.background"),";\n}\n\n.p-select-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(e("select.clear.icon.color"),";\n inset-inline-end: ").concat(e("select.dropdown.width"),";\n}\n\n.p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(e("select.dropdown.color"),";\n width: ").concat(e("select.dropdown.width"),";\n border-start-end-radius: ").concat(e("select.border.radius"),";\n border-end-end-radius: ").concat(e("select.border.radius"),";\n}\n\n.p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: ").concat(e("select.padding.y")," ").concat(e("select.padding.x"),";\n text-overflow: ellipsis;\n cursor: pointer;\n color: ").concat(e("select.color"),";\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-select-label.p-placeholder {\n color: ").concat(e("select.placeholder.color"),";\n}\n\n.p-select.p-invalid .p-select-label.p-placeholder {\n color: ").concat(e("select.invalid.placeholder.color"),";\n}\n\n.p-select:has(.p-select-clear-icon) .p-select-label {\n padding-inline-end: calc(1rem + ").concat(e("select.padding.x"),");\n}\n\n.p-select.p-disabled .p-select-label {\n color: ").concat(e("select.disabled.color"),";\n}\n\n.p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n}\n\ninput.p-select-label {\n cursor: default;\n}\n\n.p-select .p-select-overlay {\n min-width: 100%;\n}\n\n.p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(e("select.overlay.background"),";\n color: ").concat(e("select.overlay.color"),";\n border: 1px solid ").concat(e("select.overlay.border.color"),";\n border-radius: ").concat(e("select.overlay.border.radius"),";\n box-shadow: ").concat(e("select.overlay.shadow"),";\n}\n\n.p-select-header {\n padding: ").concat(e("select.list.header.padding"),";\n}\n\n.p-select-filter {\n width: 100%;\n}\n\n.p-select-list-container {\n overflow: auto;\n}\n\n.p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: ").concat(e("select.option.group.padding"),";\n background: ").concat(e("select.option.group.background"),";\n color: ").concat(e("select.option.group.color"),";\n font-weight: ").concat(e("select.option.group.font.weight"),";\n}\n\n.p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(e("select.list.padding"),";\n gap: ").concat(e("select.list.gap"),";\n display: flex;\n flex-direction: column;\n}\n\n.p-select-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(e("select.option.padding"),";\n border: 0 none;\n color: ").concat(e("select.option.color"),";\n background: transparent;\n transition: background ").concat(e("select.transition.duration"),", color ").concat(e("select.transition.duration"),", border-color ").concat(e("select.transition.duration"),",\n box-shadow ").concat(e("select.transition.duration"),", outline-color ").concat(e("select.transition.duration"),";\n border-radius: ").concat(e("select.option.border.radius"),";\n}\n\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: ").concat(e("select.option.focus.background"),";\n color: ").concat(e("select.option.focus.color"),";\n}\n\n.p-select-option.p-select-option-selected {\n background: ").concat(e("select.option.selected.background"),";\n color: ").concat(e("select.option.selected.color"),";\n}\n\n.p-select-option.p-select-option-selected.p-focus {\n background: ").concat(e("select.option.selected.focus.background"),";\n color: ").concat(e("select.option.selected.focus.color"),";\n}\n\n.p-select-option-check-icon {\n position: relative;\n margin-inline-start: ").concat(e("select.checkmark.gutter.start"),";\n margin-inline-end: ").concat(e("select.checkmark.gutter.end"),";\n color: ").concat(e("select.checkmark.color"),";\n}\n\n.p-select-empty-message {\n padding: ").concat(e("select.empty.message.padding"),";\n}\n\n.p-select-fluid {\n display: flex;\n width: 100%;\n}\n\n.p-select-sm .p-select-label {\n font-size: ").concat(e("select.sm.font.size"),";\n padding-block: ").concat(e("select.sm.padding.y"),";\n padding-inline: ").concat(e("select.sm.padding.x"),";\n}\n\n.p-select-sm .p-select-dropdown .p-icon {\n font-size: ").concat(e("select.sm.font.size"),";\n width: ").concat(e("select.sm.font.size"),";\n height: ").concat(e("select.sm.font.size"),";\n}\n\n.p-select-lg .p-select-label {\n font-size: ").concat(e("select.lg.font.size"),";\n padding-block: ").concat(e("select.lg.padding.y"),";\n padding-inline: ").concat(e("select.lg.padding.x"),";\n}\n\n.p-select-lg .p-select-dropdown .p-icon {\n font-size: ").concat(e("select.lg.font.size"),";\n width: ").concat(e("select.lg.font.size"),";\n height: ").concat(e("select.lg.font.size"),";\n}\n")},classes:{root:function(t){var e=t.instance,n=t.props,o=t.state;return["p-select p-component p-inputwrapper",{"p-disabled":n.disabled,"p-invalid":e.$invalid,"p-variant-filled":"filled"===e.$variant,"p-focus":o.focused,"p-inputwrapper-filled":e.$filled,"p-inputwrapper-focus":o.focused||o.overlayVisible,"p-select-open":o.overlayVisible,"p-select-fluid":e.$fluid,"p-select-sm p-inputfield-sm":"small"===n.size,"p-select-lg p-inputfield-lg":"large"===n.size}]},label:function(t){var e=t.instance,n=t.props;return["p-select-label",{"p-placeholder":!n.editable&&e.label===n.placeholder,"p-select-label-empty":!(n.editable||e.$slots.value||"p-emptylabel"!==e.label&&0!==e.label.length)}]},clearIcon:"p-select-clear-icon",dropdown:"p-select-dropdown",loadingicon:"p-select-loading-icon",dropdownIcon:"p-select-dropdown-icon",overlay:"p-select-overlay p-component",header:"p-select-header",pcFilter:"p-select-filter",listContainer:"p-select-list-container",list:"p-select-list",optionGroup:"p-select-option-group",optionGroupLabel:"p-select-option-group-label",option:function(t){var e=t.instance,n=t.props,o=t.state,i=t.option,r=t.focusedOption;return["p-select-option",{"p-select-option-selected":e.isSelected(i)&&n.highlightOnSelect,"p-focus":o.focusedOptionIndex===r,"p-disabled":e.isOptionDisabled(i)}]},optionLabel:"p-select-option-label",optionCheckIcon:"p-select-option-check-icon",optionBlankIcon:"p-select-option-blank-icon",emptyMessage:"p-select-empty-message"}});function rn(t){return(rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sn(t){return function(t){if(Array.isArray(t))return ln(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ln(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ln(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ln(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n2&&void 0!==arguments[2])||arguments[2],o=this.getOptionValue(e);this.updateModel(t,o),n&&this.hide(!0)},onOptionMouseMove:function(t,e){this.focusOnHover&&this.changeFocusedOptionIndex(t,e)},onFilterChange:function(t){var e=t.target.value;this.filterValue=e,this.focusedOptionIndex=-1,this.$emit("filter",{originalEvent:t,value:e}),!this.virtualScrollerDisabled&&this.virtualScroller.scrollToIndex(0)},onFilterKeyDown:function(t){if(!t.isComposing)switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(t,!0);break;case"Home":this.onHomeKey(t,!0);break;case"End":this.onEndKey(t,!0);break;case"Enter":case"NumpadEnter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t,!0)}},onFilterBlur:function(){this.focusedOptionIndex=-1},onFilterUpdated:function(){this.overlayVisible&&this.alignOverlay()},onOverlayClick:function(t){We.emit("overlay-click",{originalEvent:t,target:this.$el})},onOverlayKeyDown:function(t){if("Escape"===t.code)this.onEscapeKey(t)},onArrowDownKey:function(t){if(this.overlayVisible){var e=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.clicked?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(t,e)}else this.show(),this.editable&&this.changeFocusedOptionIndex(t,this.findSelectedOptionIndex());t.preventDefault()},onArrowUpKey:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.altKey&&!e)-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(),t.preventDefault();else{var n=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.clicked?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(t,n),!this.overlayVisible&&this.show(),t.preventDefault()}},onArrowLeftKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(this.focusedOptionIndex=-1)},onHomeKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;t.shiftKey?e.setSelectionRange(0,t.target.selectionStart):(e.setSelectionRange(0,0),this.focusedOptionIndex=-1)}else this.changeFocusedOptionIndex(t,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();t.preventDefault()},onEndKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;if(t.shiftKey)e.setSelectionRange(t.target.selectionStart,e.value.length);else{var n=e.value.length;e.setSelectionRange(n,n),this.focusedOptionIndex=-1}}else this.changeFocusedOptionIndex(t,this.findLastOptionIndex()),!this.overlayVisible&&this.show();t.preventDefault()},onPageUpKey:function(t){this.scrollInView(0),t.preventDefault()},onPageDownKey:function(t){this.scrollInView(this.visibleOptions.length-1),t.preventDefault()},onEnterKey:function(t){this.overlayVisible?(-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.hide()):(this.focusedOptionIndex=-1,this.onArrowDownKey(t)),t.preventDefault()},onSpaceKey:function(t){!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])&&this.onEnterKey(t)},onEscapeKey:function(t){this.overlayVisible&&this.hide(!0),t.preventDefault(),t.stopPropagation()},onTabKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.overlayVisible&&this.hasFocusableElements()?(et(this.$refs.firstHiddenFocusableElementOnOverlay),t.preventDefault()):(-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(this.filter)))},onBackspaceKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&!this.overlayVisible&&this.show()},onOverlayEnter:function(t){var e=this;Q.set("overlay",t,this.$primevue.config.zIndex.overlay),st(t,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.scrollInView(),setTimeout((function(){e.autoFilterFocus&&e.filter&&et(e.$refs.filterInput.$el)}),1)},onOverlayAfterEnter:function(){this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.$emit("show")},onOverlayLeave:function(){var t=this;this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.autoFilterFocus&&this.filter&&!this.editable&&this.$nextTick((function(){et(t.$refs.filterInput.$el)})),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave:function(t){Q.clear(t)},alignOverlay:function(){"self"===this.appendTo?lt(this.overlay,this.$el):(this.overlay.style.minWidth=G(this.$el)+"px",ct(this.overlay,this.$el))},bindOutsideClickListener:function(){var t=this;this.outsideClickListener||(this.outsideClickListener=function(e){t.overlayVisible&&t.overlay&&!t.$el.contains(e.target)&&!t.overlay.contains(e.target)&&t.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener:function(){var t=this;this.scrollHandler||(this.scrollHandler=new Tt(this.$refs.container,(function(){t.overlayVisible&&t.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var t=this;this.resizeListener||(this.resizeListener=function(){t.overlayVisible&&!at()&&t.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindLabelClickListener:function(){var t=this;if(!this.editable&&!this.labelClickListener){var e=document.querySelector('label[for="'.concat(this.labelId,'"]'));e&&Y(e)&&(this.labelClickListener=function(){et(t.$refs.focusInput)},e.addEventListener("click",this.labelClickListener))}},unbindLabelClickListener:function(){if(this.labelClickListener){var t=document.querySelector('label[for="'.concat(this.labelId,'"]'));t&&Y(t)&&t.removeEventListener("click",this.labelClickListener)}},hasFocusableElements:function(){return ut(this.overlay,':not([data-p-hidden-focusable="true"])').length>0},isOptionMatched:function(t){var e;return this.isValidOption(t)&&"string"==typeof this.getOptionLabel(t)&&(null===(e=this.getOptionLabel(t))||void 0===e?void 0:e.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)))},isValidOption:function(t){return K(t)&&!(this.isOptionDisabled(t)||this.isOptionGroup(t))},isValidSelectedOption:function(t){return this.isValidOption(t)&&this.isSelected(t)},isSelected:function(t){return dt(this.d_value,this.getOptionValue(t),this.equalityKey)},findFirstOptionIndex:function(){var t=this;return this.visibleOptions.findIndex((function(e){return t.isValidOption(e)}))},findLastOptionIndex:function(){var t=this;return pt(this.visibleOptions,(function(e){return t.isValidOption(e)}))},findNextOptionIndex:function(t){var e=this,n=t-1?n+t+1:t},findPrevOptionIndex:function(t){var e=this,n=t>0?pt(this.visibleOptions.slice(0,t),(function(t){return e.isValidOption(t)})):-1;return n>-1?n:t},findSelectedOptionIndex:function(){var t=this;return this.$filled?this.visibleOptions.findIndex((function(e){return t.isValidSelectedOption(e)})):-1},findFirstFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findFirstOptionIndex():t},findLastFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findLastOptionIndex():t},searchOptions:function(t,e){var n=this;this.searchValue=(this.searchValue||"")+e;var o=-1,i=!1;return K(this.searchValue)&&(-1!==(o=-1!==this.focusedOptionIndex?-1===(o=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((function(t){return n.isOptionMatched(t)})))?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((function(t){return n.isOptionMatched(t)})):o+this.focusedOptionIndex:this.visibleOptions.findIndex((function(t){return n.isOptionMatched(t)})))&&(i=!0),-1===o&&-1===this.focusedOptionIndex&&(o=this.findFirstFocusedOptionIndex()),-1!==o&&this.changeFocusedOptionIndex(t,o)),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.searchTimeout=null}),500),i},changeFocusedOptionIndex:function(t,e){this.focusedOptionIndex!==e&&(this.focusedOptionIndex=e,this.scrollInView(),this.selectOnFocus&&this.onOptionSelect(t,this.visibleOptions[e],!1))},scrollInView:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;this.$nextTick((function(){var n=-1!==e?"".concat(t.id,"_").concat(e):t.focusedOptionId,o=J(t.list,'li[id="'.concat(n,'"]'));o?o.scrollIntoView&&o.scrollIntoView({block:"nearest",inline:"start"}):t.virtualScrollerDisabled||t.virtualScroller&&t.virtualScroller.scrollToIndex(-1!==e?e:t.focusedOptionIndex)}))},autoUpdateModel:function(){this.selectOnFocus&&this.autoOptionFocus&&!this.$filled&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex],!1))},updateModel:function(t,e){this.writeValue(e,t),this.$emit("change",{originalEvent:t,value:e})},flatOptions:function(t){var e=this;return(t||[]).reduce((function(t,n,o){t.push({optionGroup:n,group:!0,index:o});var i=e.getOptionGroupChildren(n);return i&&i.forEach((function(e){return t.push(e)})),t}),[])},overlayRef:function(t){this.overlay=t},listRef:function(t,e){this.list=t,e&&e(t)},virtualScrollerRef:function(t){this.virtualScroller=t}},computed:{visibleOptions:function(){var t=this,e=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];if(this.filterValue){var n=_t.filter(e,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale);if(this.optionGroupLabel){var o=this.options||[],i=[];return o.forEach((function(e){var o=t.getOptionGroupChildren(e).filter((function(t){return n.includes(t)}));o.length>0&&i.push(an(an({},e),{},un({},"string"==typeof t.optionGroupChildren?t.optionGroupChildren:"items",sn(o))))})),this.flatOptions(i)}return n}return e},hasSelectedOption:function(){return this.$filled},label:function(){var t=this.findSelectedOptionIndex();return-1!==t?this.getOptionLabel(this.visibleOptions[t]):this.placeholder||"p-emptylabel"},editableInputValue:function(){var t=this.findSelectedOptionIndex();return-1!==t?this.getOptionLabel(this.visibleOptions[t]):this.d_value||""},equalityKey:function(){return this.optionValue?null:this.dataKey},searchFields:function(){return this.filterFields||[this.optionLabel]},filterResultMessageText:function(){return K(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText:function(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText:function(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText:function(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText:function(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText:function(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText:function(){return this.$filled?this.selectionMessageText.replaceAll("{0}","1"):this.emptySelectionMessageText},focusedOptionId:function(){return-1!==this.focusedOptionIndex?"".concat(this.id,"_").concat(this.focusedOptionIndex):null},ariaSetSize:function(){var t=this;return this.visibleOptions.filter((function(e){return!t.isOptionGroup(e)})).length},isClearIconVisible:function(){return this.showClear&&null!=this.d_value&&K(this.options)},virtualScrollerDisabled:function(){return!this.virtualScrollerOptions}},directives:{ripple:Ke},components:{InputText:Ne,VirtualScroller:en,Portal:Ze,InputIcon:Ue,IconField:Ge,TimesIcon:Ft,ChevronDownIcon:Et,SpinnerIcon:Ct,SearchIcon:Vt,CheckIcon:Mt,BlankIcon:At}},pn=["id"],hn=["id","value","placeholder","tabindex","disabled","aria-label","aria-labelledby","aria-expanded","aria-controls","aria-activedescendant","aria-invalid"],fn=["id","tabindex","aria-label","aria-labelledby","aria-expanded","aria-controls","aria-activedescendant","aria-disabled"],bn=["id"],mn=["id"],gn=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousemove","data-p-selected","data-p-focused","data-p-disabled"];dn.render=function(t,e,n,o,i,r){var s=k("SpinnerIcon"),l=k("InputText"),c=k("SearchIcon"),a=k("InputIcon"),u=k("IconField"),d=k("CheckIcon"),p=k("BlankIcon"),h=k("VirtualScroller"),f=k("Portal"),b=O("ripple");return m(),g("div",I({ref:"container",id:i.id,class:t.cx("root"),onClick:e[11]||(e[11]=function(){return r.onContainerClick&&r.onContainerClick.apply(r,arguments)})},t.ptmi("root")),[t.editable?(m(),g("input",I({key:0,ref:"focusInput",id:t.labelId||t.inputId,type:"text",class:[t.cx("label"),t.inputClass,t.labelClass],style:[t.inputStyle,t.labelStyle],value:r.editableInputValue,placeholder:t.placeholder,tabindex:t.disabled?-1:t.tabindex,disabled:t.disabled,autocomplete:"off",role:"combobox","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-haspopup":"listbox","aria-expanded":i.overlayVisible,"aria-controls":i.id+"_list","aria-activedescendant":i.focused?r.focusedOptionId:void 0,"aria-invalid":t.invalid||void 0,onFocus:e[0]||(e[0]=function(){return r.onFocus&&r.onFocus.apply(r,arguments)}),onBlur:e[1]||(e[1]=function(){return r.onBlur&&r.onBlur.apply(r,arguments)}),onKeydown:e[2]||(e[2]=function(){return r.onKeyDown&&r.onKeyDown.apply(r,arguments)}),onInput:e[3]||(e[3]=function(){return r.onEditableInput&&r.onEditableInput.apply(r,arguments)})},t.ptm("label")),null,16,hn)):(m(),g("span",I({key:1,ref:"focusInput",id:t.labelId||t.inputId,class:[t.cx("label"),t.inputClass,t.labelClass],style:[t.inputStyle,t.labelStyle],tabindex:t.disabled?-1:t.tabindex,role:"combobox","aria-label":t.ariaLabel||("p-emptylabel"===r.label?void 0:r.label),"aria-labelledby":t.ariaLabelledby,"aria-haspopup":"listbox","aria-expanded":i.overlayVisible,"aria-controls":i.id+"_list","aria-activedescendant":i.focused?r.focusedOptionId:void 0,"aria-disabled":t.disabled,onFocus:e[4]||(e[4]=function(){return r.onFocus&&r.onFocus.apply(r,arguments)}),onBlur:e[5]||(e[5]=function(){return r.onBlur&&r.onBlur.apply(r,arguments)}),onKeydown:e[6]||(e[6]=function(){return r.onKeyDown&&r.onKeyDown.apply(r,arguments)})},t.ptm("label")),[v(t.$slots,"value",{value:t.d_value,placeholder:t.placeholder},(function(){var t;return[y(x("p-emptylabel"===r.label?" ":null!==(t=r.label)&&void 0!==t?t:"empty"),1)]}))],16,fn)),r.isClearIconVisible?v(t.$slots,"clearicon",{key:2,class:z(t.cx("clearIcon")),clearCallback:r.onClearClick},(function(){return[(m(),S(T(t.clearIcon?"i":"TimesIcon"),I({ref:"clearIcon",class:[t.cx("clearIcon"),t.clearIcon],onClick:r.onClearClick},t.ptm("clearIcon"),{"data-pc-section":"clearicon"}),null,16,["class","onClick"]))]})):C("",!0),$("div",I({class:t.cx("dropdown")},t.ptm("dropdown")),[t.loading?v(t.$slots,"loadingicon",{key:0,class:z(t.cx("loadingIcon"))},(function(){return[t.loadingIcon?(m(),g("span",I({key:0,class:[t.cx("loadingIcon"),"pi-spin",t.loadingIcon],"aria-hidden":"true"},t.ptm("loadingIcon")),null,16)):(m(),S(s,I({key:1,class:t.cx("loadingIcon"),spin:"","aria-hidden":"true"},t.ptm("loadingIcon")),null,16,["class"]))]})):v(t.$slots,"dropdownicon",{key:1,class:z(t.cx("dropdownIcon"))},(function(){return[(m(),S(T(t.dropdownIcon?"span":"ChevronDownIcon"),I({class:[t.cx("dropdownIcon"),t.dropdownIcon],"aria-hidden":"true"},t.ptm("dropdownIcon")),null,16,["class"]))]}))],16),V(f,{appendTo:t.appendTo},{default:L((function(){return[V(M,I({name:"p-connected-overlay",onEnter:r.onOverlayEnter,onAfterEnter:r.onOverlayAfterEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},t.ptm("transition")),{default:L((function(){return[i.overlayVisible?(m(),g("div",I({key:0,ref:r.overlayRef,class:[t.cx("overlay"),t.panelClass,t.overlayClass],style:[t.panelStyle,t.overlayStyle],onClick:e[9]||(e[9]=function(){return r.onOverlayClick&&r.onOverlayClick.apply(r,arguments)}),onKeydown:e[10]||(e[10]=function(){return r.onOverlayKeyDown&&r.onOverlayKeyDown.apply(r,arguments)})},t.ptm("overlay")),[$("span",I({ref:"firstHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[7]||(e[7]=function(){return r.onFirstHiddenFocus&&r.onFirstHiddenFocus.apply(r,arguments)})},t.ptm("hiddenFirstFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16),v(t.$slots,"header",{value:t.d_value,options:r.visibleOptions}),t.filter?(m(),g("div",I({key:0,class:t.cx("header")},t.ptm("header")),[V(u,{unstyled:t.unstyled,pt:t.ptm("pcFilterContainer")},{default:L((function(){return[V(l,{ref:"filterInput",type:"text",value:i.filterValue,onVnodeMounted:r.onFilterUpdated,onVnodeUpdated:r.onFilterUpdated,class:z(t.cx("pcFilter")),placeholder:t.filterPlaceholder,variant:t.variant,unstyled:t.unstyled,role:"searchbox",autocomplete:"off","aria-owns":i.id+"_list","aria-activedescendant":r.focusedOptionId,onKeydown:r.onFilterKeyDown,onBlur:r.onFilterBlur,onInput:r.onFilterChange,pt:t.ptm("pcFilter")},null,8,["value","onVnodeMounted","onVnodeUpdated","class","placeholder","variant","unstyled","aria-owns","aria-activedescendant","onKeydown","onBlur","onInput","pt"]),V(a,{unstyled:t.unstyled,pt:t.ptm("pcFilterIconContainer")},{default:L((function(){return[v(t.$slots,"filtericon",{},(function(){return[t.filterIcon?(m(),g("span",I({key:0,class:t.filterIcon},t.ptm("filterIcon")),null,16)):(m(),S(c,A(I({key:1},t.ptm("filterIcon"))),null,16))]}))]})),_:3},8,["unstyled","pt"])]})),_:3},8,["unstyled","pt"]),$("span",I({role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenFilterResult"),{"data-p-hidden-accessible":!0}),x(r.filterResultMessageText),17)],16)):C("",!0),$("div",I({class:t.cx("listContainer"),style:{"max-height":r.virtualScrollerDisabled?t.scrollHeight:""}},t.ptm("listContainer")),[V(h,I({ref:r.virtualScrollerRef},t.virtualScrollerOptions,{items:r.visibleOptions,style:{height:t.scrollHeight},tabindex:-1,disabled:r.virtualScrollerDisabled,pt:t.ptm("virtualScroller")}),P({content:L((function(e){var n=e.styleClass,o=e.contentRef,s=e.items,l=e.getItemOptions,c=e.contentStyle,a=e.itemSize;return[$("ul",I({ref:function(t){return r.listRef(t,o)},id:i.id+"_list",class:[t.cx("list"),n],style:c,role:"listbox"},t.ptm("list")),[(m(!0),g(F,null,E(s,(function(e,n){return m(),g(F,{key:r.getOptionRenderKey(e,r.getOptionIndex(n,l))},[r.isOptionGroup(e)?(m(),g("li",I({key:0,id:i.id+"_"+r.getOptionIndex(n,l),style:{height:a?a+"px":void 0},class:t.cx("optionGroup"),role:"option",ref_for:!0},t.ptm("optionGroup")),[v(t.$slots,"optiongroup",{option:e.optionGroup,index:r.getOptionIndex(n,l)},(function(){return[$("span",I({class:t.cx("optionGroupLabel"),ref_for:!0},t.ptm("optionGroupLabel")),x(r.getOptionGroupLabel(e.optionGroup)),17)]}))],16,mn)):w((m(),g("li",I({key:1,id:i.id+"_"+r.getOptionIndex(n,l),class:t.cx("option",{option:e,focusedOption:r.getOptionIndex(n,l)}),style:{height:a?a+"px":void 0},role:"option","aria-label":r.getOptionLabel(e),"aria-selected":r.isSelected(e),"aria-disabled":r.isOptionDisabled(e),"aria-setsize":r.ariaSetSize,"aria-posinset":r.getAriaPosInset(r.getOptionIndex(n,l)),onClick:function(t){return r.onOptionSelect(t,e)},onMousemove:function(t){return r.onOptionMouseMove(t,r.getOptionIndex(n,l))},"data-p-selected":r.isSelected(e),"data-p-focused":i.focusedOptionIndex===r.getOptionIndex(n,l),"data-p-disabled":r.isOptionDisabled(e),ref_for:!0},r.getPTItemOptions(e,l,n,"option")),[t.checkmark?(m(),g(F,{key:0},[r.isSelected(e)?(m(),S(d,I({key:0,class:t.cx("optionCheckIcon"),ref_for:!0},t.ptm("optionCheckIcon")),null,16,["class"])):(m(),S(p,I({key:1,class:t.cx("optionBlankIcon"),ref_for:!0},t.ptm("optionBlankIcon")),null,16,["class"]))],64)):C("",!0),v(t.$slots,"option",{option:e,selected:r.isSelected(e),index:r.getOptionIndex(n,l)},(function(){return[$("span",I({class:t.cx("optionLabel"),ref_for:!0},t.ptm("optionLabel")),x(r.getOptionLabel(e)),17)]}))],16,gn)),[[b]])],64)})),128)),i.filterValue&&(!s||s&&0===s.length)?(m(),g("li",I({key:0,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage"),{"data-p-hidden-accessible":!0}),[v(t.$slots,"emptyfilter",{},(function(){return[y(x(r.emptyFilterMessageText),1)]}))],16)):!t.options||t.options&&0===t.options.length?(m(),g("li",I({key:1,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage"),{"data-p-hidden-accessible":!0}),[v(t.$slots,"empty",{},(function(){return[y(x(r.emptyMessageText),1)]}))],16)):C("",!0)],16,bn)]})),_:2},[t.$slots.loader?{name:"loader",fn:L((function(e){var n=e.options;return[v(t.$slots,"loader",{options:n})]})),key:"0"}:void 0]),1040,["items","style","disabled","pt"])],16),v(t.$slots,"footer",{value:t.d_value,options:r.visibleOptions}),!t.options||t.options&&0===t.options.length?(m(),g("span",I({key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenEmptyMessage"),{"data-p-hidden-accessible":!0}),x(r.emptyMessageText),17)):C("",!0),$("span",I({role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenSelectedMessage"),{"data-p-hidden-accessible":!0}),x(r.selectedMessageText),17),$("span",I({ref:"lastHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[8]||(e[8]=function(){return r.onLastHiddenFocus&&r.onLastHiddenFocus.apply(r,arguments)})},t.ptm("hiddenLastFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16)],16)):C("",!0)]})),_:3},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:3},8,["appendTo"])],16,pn)};var vn=wt.extend({name:"tooltip-directive",theme:function(t){var e=t.dt;return"\n.p-tooltip {\n position: absolute;\n display: none;\n max-width: ".concat(e("tooltip.max.width"),";\n}\n\n.p-tooltip-right,\n.p-tooltip-left {\n padding: 0 ").concat(e("tooltip.gutter"),";\n}\n\n.p-tooltip-top,\n.p-tooltip-bottom {\n padding: ").concat(e("tooltip.gutter")," 0;\n}\n\n.p-tooltip-text {\n white-space: pre-line;\n word-break: break-word;\n background: ").concat(e("tooltip.background"),";\n color: ").concat(e("tooltip.color"),";\n padding: ").concat(e("tooltip.padding"),";\n box-shadow: ").concat(e("tooltip.shadow"),";\n border-radius: ").concat(e("tooltip.border.radius"),";\n}\n\n.p-tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.p-tooltip-right .p-tooltip-arrow {\n margin-top: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," 0;\n border-right-color: ").concat(e("tooltip.background"),";\n}\n\n.p-tooltip-left .p-tooltip-arrow {\n margin-top: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: ").concat(e("tooltip.gutter")," 0 ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter"),";\n border-left-color: ").concat(e("tooltip.background"),";\n}\n\n.p-tooltip-top .p-tooltip-arrow {\n margin-left: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," 0 ").concat(e("tooltip.gutter"),";\n border-top-color: ").concat(e("tooltip.background"),";\n border-bottom-color: ").concat(e("tooltip.background"),";\n}\n\n.p-tooltip-bottom .p-tooltip-arrow {\n margin-left: calc(-1 * ").concat(e("tooltip.gutter"),");\n border-width: 0 ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter")," ").concat(e("tooltip.gutter"),";\n border-top-color: ").concat(e("tooltip.background"),";\n border-bottom-color: ").concat(e("tooltip.background"),";\n}\n")},classes:{root:"p-tooltip p-component",arrow:"p-tooltip-arrow",text:"p-tooltip-text"}});function yn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var o,i,r,s,l=[],c=!0,a=!1;try{if(r=(n=n.call(t)).next,0===e);else for(;!(c=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);c=!0);}catch(u){a=!0,i=u}finally{try{if(!c&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(a)throw i}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return xn(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xn(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);nl.width||i<0||o<0||o+s>l.height},getTarget:function(t){var e;return vt(t,"p-inputwrapper")&&null!==(e=J(t,"input"))&&void 0!==e?e:t},getModifiers:function(t){return t.modifiers&&Object.keys(t.modifiers).length?t.modifiers:t.arg&&"object"===kn(t.arg)?Object.entries(t.arg).reduce((function(t,e){var n=yn(e,2),o=n[0],i=n[1];return"event"!==o&&"position"!==o||(t[i]=!0),t}),{}):{}}}}),wn=wt.extend({name:"checkbox",theme:function(t){var e=t.dt;return"\n.p-checkbox {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ".concat(e("checkbox.width"),";\n height: ").concat(e("checkbox.height"),";\n}\n\n.p-checkbox-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: ").concat(e("checkbox.border.radius"),";\n}\n\n.p-checkbox-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: ").concat(e("checkbox.border.radius"),";\n border: 1px solid ").concat(e("checkbox.border.color"),";\n background: ").concat(e("checkbox.background"),";\n width: ").concat(e("checkbox.width"),";\n height: ").concat(e("checkbox.height"),";\n transition: background ").concat(e("checkbox.transition.duration"),", color ").concat(e("checkbox.transition.duration"),", border-color ").concat(e("checkbox.transition.duration"),", box-shadow ").concat(e("checkbox.transition.duration"),", outline-color ").concat(e("checkbox.transition.duration"),";\n outline-color: transparent;\n box-shadow: ").concat(e("checkbox.shadow"),";\n}\n\n.p-checkbox-icon {\n transition-duration: ").concat(e("checkbox.transition.duration"),";\n color: ").concat(e("checkbox.icon.color"),";\n font-size: ").concat(e("checkbox.icon.size"),";\n width: ").concat(e("checkbox.icon.size"),";\n height: ").concat(e("checkbox.icon.size"),";\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n border-color: ").concat(e("checkbox.hover.border.color"),";\n}\n\n.p-checkbox-checked .p-checkbox-box {\n border-color: ").concat(e("checkbox.checked.border.color"),";\n background: ").concat(e("checkbox.checked.background"),";\n}\n\n.p-checkbox-checked .p-checkbox-icon {\n color: ").concat(e("checkbox.icon.checked.color"),";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ").concat(e("checkbox.checked.hover.background"),";\n border-color: ").concat(e("checkbox.checked.hover.border.color"),";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {\n color: ").concat(e("checkbox.icon.checked.hover.color"),";\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ").concat(e("checkbox.focus.border.color"),";\n box-shadow: ").concat(e("checkbox.focus.ring.shadow"),";\n outline: ").concat(e("checkbox.focus.ring.width")," ").concat(e("checkbox.focus.ring.style")," ").concat(e("checkbox.focus.ring.color"),";\n outline-offset: ").concat(e("checkbox.focus.ring.offset"),";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ").concat(e("checkbox.checked.focus.border.color"),";\n}\n\n.p-checkbox.p-invalid > .p-checkbox-box {\n border-color: ").concat(e("checkbox.invalid.border.color"),";\n}\n\n.p-checkbox.p-variant-filled .p-checkbox-box {\n background: ").concat(e("checkbox.filled.background"),";\n}\n\n.p-checkbox-checked.p-variant-filled .p-checkbox-box {\n background: ").concat(e("checkbox.checked.background"),";\n}\n\n.p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ").concat(e("checkbox.checked.hover.background"),";\n}\n\n.p-checkbox.p-disabled {\n opacity: 1;\n}\n\n.p-checkbox.p-disabled .p-checkbox-box {\n background: ").concat(e("checkbox.disabled.background"),";\n border-color: ").concat(e("checkbox.checked.disabled.border.color"),";\n}\n\n.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\n color: ").concat(e("checkbox.icon.disabled.color"),";\n}\n\n.p-checkbox-sm,\n.p-checkbox-sm .p-checkbox-box {\n width: ").concat(e("checkbox.sm.width"),";\n height: ").concat(e("checkbox.sm.height"),";\n}\n\n.p-checkbox-sm .p-checkbox-icon {\n font-size: ").concat(e("checkbox.icon.sm.size"),";\n width: ").concat(e("checkbox.icon.sm.size"),";\n height: ").concat(e("checkbox.icon.sm.size"),";\n}\n\n.p-checkbox-lg,\n.p-checkbox-lg .p-checkbox-box {\n width: ").concat(e("checkbox.lg.width"),";\n height: ").concat(e("checkbox.lg.height"),";\n}\n\n.p-checkbox-lg .p-checkbox-icon {\n font-size: ").concat(e("checkbox.icon.lg.size"),";\n width: ").concat(e("checkbox.icon.lg.size"),";\n height: ").concat(e("checkbox.icon.lg.size"),";\n}\n")},classes:{root:function(t){var e=t.instance,n=t.props;return["p-checkbox p-component",{"p-checkbox-checked":e.checked,"p-disabled":n.disabled,"p-invalid":e.$pcCheckboxGroup?e.$pcCheckboxGroup.$invalid:e.$invalid,"p-variant-filled":"filled"===e.$variant,"p-checkbox-sm p-inputfield-sm":"small"===n.size,"p-checkbox-lg p-inputfield-lg":"large"===n.size}]},box:"p-checkbox-box",input:"p-checkbox-input",icon:"p-checkbox-icon"}});function Sn(t){return function(t){if(Array.isArray(t))return Ln(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ln(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ln(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ln(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);nt.length)&&(e=t.length);for(var n=0,o=Array(e);n2&&void 0!==arguments[2]?arguments[2]:-1,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!this.disabled&&!this.isOptionDisabled(e)){var r=null;r=this.isSelected(e)?this.d_value.filter((function(t){return!dt(t,n.getOptionValue(e),n.equalityKey)})):[].concat(Bn(this.d_value||[]),[this.getOptionValue(e)]),this.updateModel(t,r),-1!==o&&(this.focusedOptionIndex=o),i&&et(this.$refs.focusInput)}},onOptionMouseMove:function(t,e){this.focusOnHover&&this.changeFocusedOptionIndex(t,e)},onOptionSelectRange:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===n&&(n=this.findNearestSelectedOptionIndex(o,!0)),-1===o&&(o=this.findNearestSelectedOptionIndex(n)),-1!==n&&-1!==o){var i=Math.min(n,o),r=Math.max(n,o),s=this.visibleOptions.slice(i,r+1).filter((function(t){return e.isValidOption(t)})).map((function(t){return e.getOptionValue(t)}));this.updateModel(t,s)}},onFilterChange:function(t){var e=t.target.value;this.filterValue=e,this.focusedOptionIndex=-1,this.$emit("filter",{originalEvent:t,value:e}),!this.virtualScrollerDisabled&&this.virtualScroller.scrollToIndex(0)},onFilterKeyDown:function(t){switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(t,!0);break;case"Home":this.onHomeKey(t,!0);break;case"End":this.onEndKey(t,!0);break;case"Enter":case"NumpadEnter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t,!0)}},onFilterBlur:function(){this.focusedOptionIndex=-1},onFilterUpdated:function(){this.overlayVisible&&this.alignOverlay()},onOverlayClick:function(t){We.emit("overlay-click",{originalEvent:t,target:this.$el})},onOverlayKeyDown:function(t){if("Escape"===t.code)this.onEscapeKey(t)},onArrowDownKey:function(t){if(this.overlayVisible){var e=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.clicked?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();t.shiftKey&&this.onOptionSelectRange(t,this.startRangeIndex,e),this.changeFocusedOptionIndex(t,e)}else this.show();t.preventDefault()},onArrowUpKey:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.altKey&&!e)-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(),t.preventDefault();else{var n=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.clicked?this.findLastOptionIndex():this.findLastFocusedOptionIndex();t.shiftKey&&this.onOptionSelectRange(t,n,this.startRangeIndex),this.changeFocusedOptionIndex(t,n),!this.overlayVisible&&this.show(),t.preventDefault()}},onArrowLeftKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(this.focusedOptionIndex=-1)},onHomeKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;t.shiftKey?e.setSelectionRange(0,t.target.selectionStart):(e.setSelectionRange(0,0),this.focusedOptionIndex=-1)}else{var n=t.metaKey||t.ctrlKey,o=this.findFirstOptionIndex();t.shiftKey&&n&&this.onOptionSelectRange(t,o,this.startRangeIndex),this.changeFocusedOptionIndex(t,o),!this.overlayVisible&&this.show()}t.preventDefault()},onEndKey:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var e=t.currentTarget;if(t.shiftKey)e.setSelectionRange(t.target.selectionStart,e.value.length);else{var n=e.value.length;e.setSelectionRange(n,n),this.focusedOptionIndex=-1}}else{var o=t.metaKey||t.ctrlKey,i=this.findLastOptionIndex();t.shiftKey&&o&&this.onOptionSelectRange(t,this.startRangeIndex,i),this.changeFocusedOptionIndex(t,i),!this.overlayVisible&&this.show()}t.preventDefault()},onPageUpKey:function(t){this.scrollInView(0),t.preventDefault()},onPageDownKey:function(t){this.scrollInView(this.visibleOptions.length-1),t.preventDefault()},onEnterKey:function(t){this.overlayVisible?-1!==this.focusedOptionIndex&&(t.shiftKey?this.onOptionSelectRange(t,this.focusedOptionIndex):this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex])):(this.focusedOptionIndex=-1,this.onArrowDownKey(t)),t.preventDefault()},onEscapeKey:function(t){this.overlayVisible&&this.hide(!0),t.preventDefault()},onTabKey:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.overlayVisible&&this.hasFocusableElements()?(et(t.shiftKey?this.$refs.lastHiddenFocusableElementOnOverlay:this.$refs.firstHiddenFocusableElementOnOverlay),t.preventDefault()):(-1!==this.focusedOptionIndex&&this.onOptionSelect(t,this.visibleOptions[this.focusedOptionIndex]),this.overlayVisible&&this.hide(this.filter)))},onShiftKey:function(){this.startRangeIndex=this.focusedOptionIndex},onOverlayEnter:function(t){Q.set("overlay",t,this.$primevue.config.zIndex.overlay),st(t,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.scrollInView(),this.autoFilterFocus&&et(this.$refs.filterInput.$el)},onOverlayAfterEnter:function(){this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.$emit("show")},onOverlayLeave:function(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave:function(t){Q.clear(t)},alignOverlay:function(){"self"===this.appendTo?lt(this.overlay,this.$el):(this.overlay.style.minWidth=G(this.$el)+"px",ct(this.overlay,this.$el))},bindOutsideClickListener:function(){var t=this;this.outsideClickListener||(this.outsideClickListener=function(e){t.overlayVisible&&t.isOutsideClicked(e)&&t.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener:function(){var t=this;this.scrollHandler||(this.scrollHandler=new Tt(this.$refs.container,(function(){t.overlayVisible&&t.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var t=this;this.resizeListener||(this.resizeListener=function(){t.overlayVisible&&!at()&&t.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isOutsideClicked:function(t){return!(this.$el.isSameNode(t.target)||this.$el.contains(t.target)||this.overlay&&this.overlay.contains(t.target))},getLabelByValue:function(t){var e=this,n=(this.optionGroupLabel?this.flatOptions(this.options):this.options||[]).find((function(n){return!e.isOptionGroup(n)&&dt(e.getOptionValue(n),t,e.equalityKey)}));return n?this.getOptionLabel(n):null},getSelectedItemsLabel:function(){var t=/{(.*?)}/,e=this.selectedItemsLabel||this.$primevue.config.locale.selectionMessage;return t.test(e)?e.replace(e.match(t)[0],this.d_value.length+""):e},onToggleAll:function(t){var e=this;if(null!==this.selectAll)this.$emit("selectall-change",{originalEvent:t,checked:!this.allSelected});else{var n=this.allSelected?[]:this.visibleOptions.filter((function(t){return e.isValidOption(t)})).map((function(t){return e.getOptionValue(t)}));this.updateModel(t,n)}},removeOption:function(t,e){var n=this;t.stopPropagation();var o=this.d_value.filter((function(t){return!dt(t,e,n.equalityKey)}));this.updateModel(t,o)},clearFilter:function(){this.filterValue=null},hasFocusableElements:function(){return ut(this.overlay,':not([data-p-hidden-focusable="true"])').length>0},isOptionMatched:function(t){var e;return this.isValidOption(t)&&"string"==typeof this.getOptionLabel(t)&&(null===(e=this.getOptionLabel(t))||void 0===e?void 0:e.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)))},isValidOption:function(t){return K(t)&&!(this.isOptionDisabled(t)||this.isOptionGroup(t))},isValidSelectedOption:function(t){return this.isValidOption(t)&&this.isSelected(t)},isEquals:function(t,e){return dt(t,e,this.equalityKey)},isSelected:function(t){var e=this,n=this.getOptionValue(t);return(this.d_value||[]).some((function(t){return e.isEquals(t,n)}))},findFirstOptionIndex:function(){var t=this;return this.visibleOptions.findIndex((function(e){return t.isValidOption(e)}))},findLastOptionIndex:function(){var t=this;return pt(this.visibleOptions,(function(e){return t.isValidOption(e)}))},findNextOptionIndex:function(t){var e=this,n=t-1?n+t+1:t},findPrevOptionIndex:function(t){var e=this,n=t>0?pt(this.visibleOptions.slice(0,t),(function(t){return e.isValidOption(t)})):-1;return n>-1?n:t},findSelectedOptionIndex:function(){var t=this;if(this.$filled)for(var e,n=function(){var e=t.d_value[o],n=t.visibleOptions.findIndex((function(n){return t.isValidSelectedOption(n)&&t.isEquals(e,t.getOptionValue(n))}));if(n>-1)return{v:n}},o=this.d_value.length-1;o>=0;o--)if(e=n())return e.v;return-1},findFirstSelectedOptionIndex:function(){var t=this;return this.$filled?this.visibleOptions.findIndex((function(e){return t.isValidSelectedOption(e)})):-1},findLastSelectedOptionIndex:function(){var t=this;return this.$filled?pt(this.visibleOptions,(function(e){return t.isValidSelectedOption(e)})):-1},findNextSelectedOptionIndex:function(t){var e=this,n=this.$filled&&t-1?n+t+1:-1},findPrevSelectedOptionIndex:function(t){var e=this,n=this.$filled&&t>0?pt(this.visibleOptions.slice(0,t),(function(t){return e.isValidSelectedOption(t)})):-1;return n>-1?n:-1},findNearestSelectedOptionIndex:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=-1;return this.$filled&&(n=e?-1===(n=this.findPrevSelectedOptionIndex(t))?this.findNextSelectedOptionIndex(t):n:-1===(n=this.findNextSelectedOptionIndex(t))?this.findPrevSelectedOptionIndex(t):n),n>-1?n:t},findFirstFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findFirstOptionIndex():t},findLastFocusedOptionIndex:function(){var t=this.findSelectedOptionIndex();return t<0?this.findLastOptionIndex():t},searchOptions:function(t){var e=this;this.searchValue=(this.searchValue||"")+t.key;var n=-1;K(this.searchValue)&&(-1===(n=-1!==this.focusedOptionIndex?-1===(n=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((function(t){return e.isOptionMatched(t)})))?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((function(t){return e.isOptionMatched(t)})):n+this.focusedOptionIndex:this.visibleOptions.findIndex((function(t){return e.isOptionMatched(t)})))&&-1===this.focusedOptionIndex&&(n=this.findFirstFocusedOptionIndex()),-1!==n&&this.changeFocusedOptionIndex(t,n)),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){e.searchValue="",e.searchTimeout=null}),500)},changeFocusedOptionIndex:function(t,e){this.focusedOptionIndex!==e&&(this.focusedOptionIndex=e,this.scrollInView(),this.selectOnFocus&&this.onOptionSelect(t,this.visibleOptions[e]))},scrollInView:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;this.$nextTick((function(){var n=-1!==e?"".concat(t.id,"_").concat(e):t.focusedOptionId,o=J(t.list,'li[id="'.concat(n,'"]'));o?o.scrollIntoView&&o.scrollIntoView({block:"nearest",inline:"nearest"}):t.virtualScrollerDisabled||t.virtualScroller&&t.virtualScroller.scrollToIndex(-1!==e?e:t.focusedOptionIndex)}))},autoUpdateModel:function(){if(this.selectOnFocus&&this.autoOptionFocus&&!this.$filled){this.focusedOptionIndex=this.findFirstFocusedOptionIndex();var t=this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);this.updateModel(null,[t])}},updateModel:function(t,e){this.writeValue(e,t),this.$emit("change",{originalEvent:t,value:e})},flatOptions:function(t){var e=this;return(t||[]).reduce((function(t,n,o){t.push({optionGroup:n,group:!0,index:o});var i=e.getOptionGroupChildren(n);return i&&i.forEach((function(e){return t.push(e)})),t}),[])},overlayRef:function(t){this.overlay=t},listRef:function(t,e){this.list=t,e&&e(t)},virtualScrollerRef:function(t){this.virtualScroller=t}},computed:{visibleOptions:function(){var t=this,e=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];if(this.filterValue){var n=_t.filter(e,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale);if(this.optionGroupLabel){var o=this.options||[],i=[];return o.forEach((function(e){var o=t.getOptionGroupChildren(e).filter((function(t){return n.includes(t)}));o.length>0&&i.push(Pn(Pn({},e),{},Kn({},"string"==typeof t.optionGroupChildren?t.optionGroupChildren:"items",Bn(o))))})),this.flatOptions(i)}return n}return e},label:function(){var t;if(this.d_value&&this.d_value.length){if(K(this.maxSelectedLabels)&&this.d_value.length>this.maxSelectedLabels)return this.getSelectedItemsLabel();t="";for(var e=0;ethis.maxSelectedLabels},allSelected:function(){var t=this;return null!==this.selectAll?this.selectAll:K(this.visibleOptions)&&this.visibleOptions.every((function(e){return t.isOptionGroup(e)||t.isOptionDisabled(e)||t.isSelected(e)}))},hasSelectedOption:function(){return this.$filled},equalityKey:function(){return this.optionValue?null:this.dataKey},searchFields:function(){return this.filterFields||[this.optionLabel]},maxSelectionLimitReached:function(){return this.selectionLimit&&this.d_value&&this.d_value.length===this.selectionLimit},filterResultMessageText:function(){return K(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText:function(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText:function(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText:function(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText:function(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText:function(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText:function(){return this.$filled?this.selectionMessageText.replaceAll("{0}",this.d_value.length):this.emptySelectionMessageText},focusedOptionId:function(){return-1!==this.focusedOptionIndex?"".concat(this.id,"_").concat(this.focusedOptionIndex):null},ariaSetSize:function(){var t=this;return this.visibleOptions.filter((function(e){return!t.isOptionGroup(e)})).length},toggleAllAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria[this.allSelected?"selectAll":"unselectAll"]:void 0},listAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.listLabel:void 0},virtualScrollerDisabled:function(){return!this.virtualScrollerOptions},hasFluid:function(){return B(this.fluid)?!!this.$pcFluid:this.fluid},isClearIconVisible:function(){return this.showClear&&null!=this.d_value&&K(this.options)}},directives:{ripple:Ke},components:{InputText:Ne,Checkbox:Cn,VirtualScroller:en,Portal:Ze,Chip:_n,IconField:Ge,InputIcon:Ue,TimesIcon:Ft,SearchIcon:Vt,ChevronDownIcon:Et,SpinnerIcon:Ct,CheckIcon:Mt}};function Hn(t){return(Hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rn(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=Hn(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!=Hn(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Hn(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Gn=["id","disabled","placeholder","tabindex","aria-label","aria-labelledby","aria-expanded","aria-controls","aria-activedescendant","aria-invalid"],Un={key:0},Nn=["id","aria-label"],qn=["id"],Wn=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousemove","data-p-selected","data-p-focused","data-p-disabled"];jn.render=function(t,e,n,o,i,r){var s=k("Chip"),l=k("SpinnerIcon"),c=k("Checkbox"),a=k("InputText"),u=k("SearchIcon"),d=k("InputIcon"),p=k("IconField"),h=k("VirtualScroller"),f=k("Portal"),b=O("ripple");return m(),g("div",I({ref:"container",class:t.cx("root"),style:t.sx("root"),onClick:e[7]||(e[7]=function(){return r.onContainerClick&&r.onContainerClick.apply(r,arguments)})},t.ptmi("root")),[$("div",I({class:"p-hidden-accessible"},t.ptm("hiddenInputContainer"),{"data-p-hidden-accessible":!0}),[$("input",I({ref:"focusInput",id:t.inputId,type:"text",readonly:"",disabled:t.disabled,placeholder:t.placeholder,tabindex:t.disabled?-1:t.tabindex,role:"combobox","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-haspopup":"listbox","aria-expanded":i.overlayVisible,"aria-controls":i.id+"_list","aria-activedescendant":i.focused?r.focusedOptionId:void 0,"aria-invalid":t.invalid||void 0,onFocus:e[0]||(e[0]=function(){return r.onFocus&&r.onFocus.apply(r,arguments)}),onBlur:e[1]||(e[1]=function(){return r.onBlur&&r.onBlur.apply(r,arguments)}),onKeydown:e[2]||(e[2]=function(){return r.onKeyDown&&r.onKeyDown.apply(r,arguments)})},t.ptm("hiddenInput")),null,16,Gn)],16),$("div",I({class:t.cx("labelContainer")},t.ptm("labelContainer")),[$("div",I({class:t.cx("label")},t.ptm("label")),[v(t.$slots,"value",{value:t.d_value,placeholder:t.placeholder},(function(){return["comma"===t.display?(m(),g(F,{key:0},[y(x(r.label||"empty"),1)],64)):"chip"===t.display?(m(),g(F,{key:1},[r.chipSelectedItems?(m(),g("span",Un,x(r.label),1)):(m(!0),g(F,{key:1},E(t.d_value,(function(e){return m(),g("span",I({key:r.getLabelByValue(e),class:t.cx("chipItem"),ref_for:!0},t.ptm("chipItem")),[v(t.$slots,"chip",{value:e,removeCallback:function(t){return r.removeOption(t,e)}},(function(){return[V(s,{class:z(t.cx("pcChip")),label:r.getLabelByValue(e),removeIcon:t.chipIcon||t.removeTokenIcon,removable:"",unstyled:t.unstyled,onRemove:function(t){return r.removeOption(t,e)},pt:t.ptm("pcChip")},{removeicon:L((function(){return[v(t.$slots,t.$slots.chipicon?"chipicon":"removetokenicon",{class:z(t.cx("chipIcon")),item:e,removeCallback:function(t){return r.removeOption(t,e)}})]})),_:2},1032,["class","label","removeIcon","unstyled","onRemove","pt"])]}))],16)})),128)),t.d_value&&0!==t.d_value.length?C("",!0):(m(),g(F,{key:2},[y(x(t.placeholder||"empty"),1)],64))],64)):C("",!0)]}))],16)],16),r.isClearIconVisible?v(t.$slots,"clearicon",{key:0,class:z(t.cx("clearIcon")),clearCallback:r.onClearClick},(function(){return[(m(),S(T(t.clearIcon?"i":"TimesIcon"),I({ref:"clearIcon",class:[t.cx("clearIcon"),t.clearIcon],onClick:r.onClearClick},t.ptm("clearIcon"),{"data-pc-section":"clearicon"}),null,16,["class","onClick"]))]})):C("",!0),$("div",I({class:t.cx("dropdown")},t.ptm("dropdown")),[t.loading?v(t.$slots,"loadingicon",{key:0,class:z(t.cx("loadingIcon"))},(function(){return[t.loadingIcon?(m(),g("span",I({key:0,class:[t.cx("loadingIcon"),"pi-spin",t.loadingIcon],"aria-hidden":"true"},t.ptm("loadingIcon")),null,16)):(m(),S(l,I({key:1,class:t.cx("loadingIcon"),spin:"","aria-hidden":"true"},t.ptm("loadingIcon")),null,16,["class"]))]})):v(t.$slots,"dropdownicon",{key:1,class:z(t.cx("dropdownIcon"))},(function(){return[(m(),S(T(t.dropdownIcon?"span":"ChevronDownIcon"),I({class:[t.cx("dropdownIcon"),t.dropdownIcon],"aria-hidden":"true"},t.ptm("dropdownIcon")),null,16,["class"]))]}))],16),V(f,{appendTo:t.appendTo},{default:L((function(){return[V(M,I({name:"p-connected-overlay",onEnter:r.onOverlayEnter,onAfterEnter:r.onOverlayAfterEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},t.ptm("transition")),{default:L((function(){return[i.overlayVisible?(m(),g("div",I({key:0,ref:r.overlayRef,style:[t.panelStyle,t.overlayStyle],class:[t.cx("overlay"),t.panelClass,t.overlayClass],onClick:e[5]||(e[5]=function(){return r.onOverlayClick&&r.onOverlayClick.apply(r,arguments)}),onKeydown:e[6]||(e[6]=function(){return r.onOverlayKeyDown&&r.onOverlayKeyDown.apply(r,arguments)})},t.ptm("overlay")),[$("span",I({ref:"firstHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[3]||(e[3]=function(){return r.onFirstHiddenFocus&&r.onFirstHiddenFocus.apply(r,arguments)})},t.ptm("hiddenFirstFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16),v(t.$slots,"header",{value:t.d_value,options:r.visibleOptions}),t.showToggleAll&&null==t.selectionLimit||t.filter?(m(),g("div",I({key:0,class:t.cx("header")},t.ptm("header")),[t.showToggleAll&&null==t.selectionLimit?(m(),S(c,{key:0,modelValue:r.allSelected,binary:!0,disabled:t.disabled,variant:t.variant,"aria-label":r.toggleAllAriaLabel,onChange:r.onToggleAll,unstyled:t.unstyled,pt:r.getHeaderCheckboxPTOptions("pcHeaderCheckbox")},{icon:L((function(e){return[t.$slots.headercheckboxicon?(m(),S(T(t.$slots.headercheckboxicon),{key:0,checked:e.checked,class:z(e.class)},null,8,["checked","class"])):e.checked?(m(),S(T(t.checkboxIcon?"span":"CheckIcon"),I({key:1,class:[e.class,Rn({},t.checkboxIcon,e.checked)]},r.getHeaderCheckboxPTOptions("pcHeaderCheckbox.icon")),null,16,["class"])):C("",!0)]})),_:1},8,["modelValue","disabled","variant","aria-label","onChange","unstyled","pt"])):C("",!0),t.filter?(m(),S(p,{key:1,class:z(t.cx("pcFilterContainer")),unstyled:t.unstyled,pt:t.ptm("pcFilterContainer")},{default:L((function(){return[V(a,{ref:"filterInput",value:i.filterValue,onVnodeMounted:r.onFilterUpdated,onVnodeUpdated:r.onFilterUpdated,class:z(t.cx("pcFilter")),placeholder:t.filterPlaceholder,disabled:t.disabled,variant:t.variant,unstyled:t.unstyled,role:"searchbox",autocomplete:"off","aria-owns":i.id+"_list","aria-activedescendant":r.focusedOptionId,onKeydown:r.onFilterKeyDown,onBlur:r.onFilterBlur,onInput:r.onFilterChange,pt:t.ptm("pcFilter")},null,8,["value","onVnodeMounted","onVnodeUpdated","class","placeholder","disabled","variant","unstyled","aria-owns","aria-activedescendant","onKeydown","onBlur","onInput","pt"]),V(d,{unstyled:t.unstyled,pt:t.ptm("pcFilterIconContainer")},{default:L((function(){return[v(t.$slots,"filtericon",{},(function(){return[t.filterIcon?(m(),g("span",I({key:0,class:t.filterIcon},t.ptm("filterIcon")),null,16)):(m(),S(u,A(I({key:1},t.ptm("filterIcon"))),null,16))]}))]})),_:3},8,["unstyled","pt"])]})),_:3},8,["class","unstyled","pt"])):C("",!0),t.filter?(m(),g("span",I({key:2,role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenFilterResult"),{"data-p-hidden-accessible":!0}),x(r.filterResultMessageText),17)):C("",!0)],16)):C("",!0),$("div",I({class:t.cx("listContainer"),style:{"max-height":r.virtualScrollerDisabled?t.scrollHeight:""}},t.ptm("listContainer")),[V(h,I({ref:r.virtualScrollerRef},t.virtualScrollerOptions,{items:r.visibleOptions,style:{height:t.scrollHeight},tabindex:-1,disabled:r.virtualScrollerDisabled,pt:t.ptm("virtualScroller")}),P({content:L((function(e){var n=e.styleClass,o=e.contentRef,s=e.items,l=e.getItemOptions,a=e.contentStyle,u=e.itemSize;return[$("ul",I({ref:function(t){return r.listRef(t,o)},id:i.id+"_list",class:[t.cx("list"),n],style:a,role:"listbox","aria-multiselectable":"true","aria-label":r.listAriaLabel},t.ptm("list")),[(m(!0),g(F,null,E(s,(function(e,n){return m(),g(F,{key:r.getOptionRenderKey(e,r.getOptionIndex(n,l))},[r.isOptionGroup(e)?(m(),g("li",I({key:0,id:i.id+"_"+r.getOptionIndex(n,l),style:{height:u?u+"px":void 0},class:t.cx("optionGroup"),role:"option",ref_for:!0},t.ptm("optionGroup")),[v(t.$slots,"optiongroup",{option:e.optionGroup,index:r.getOptionIndex(n,l)},(function(){return[y(x(r.getOptionGroupLabel(e.optionGroup)),1)]}))],16,qn)):w((m(),g("li",I({key:1,id:i.id+"_"+r.getOptionIndex(n,l),style:{height:u?u+"px":void 0},class:t.cx("option",{option:e,index:n,getItemOptions:l}),role:"option","aria-label":r.getOptionLabel(e),"aria-selected":r.isSelected(e),"aria-disabled":r.isOptionDisabled(e),"aria-setsize":r.ariaSetSize,"aria-posinset":r.getAriaPosInset(r.getOptionIndex(n,l)),onClick:function(t){return r.onOptionSelect(t,e,r.getOptionIndex(n,l),!0)},onMousemove:function(t){return r.onOptionMouseMove(t,r.getOptionIndex(n,l))},ref_for:!0},r.getCheckboxPTOptions(e,l,n,"option"),{"data-p-selected":r.isSelected(e),"data-p-focused":i.focusedOptionIndex===r.getOptionIndex(n,l),"data-p-disabled":r.isOptionDisabled(e)}),[V(c,{defaultValue:r.isSelected(e),binary:!0,tabindex:-1,variant:t.variant,unstyled:t.unstyled,pt:r.getCheckboxPTOptions(e,l,n,"pcOptionCheckbox")},{icon:L((function(o){return[t.$slots.optioncheckboxicon||t.$slots.itemcheckboxicon?(m(),S(T(t.$slots.optioncheckboxicon||t.$slots.itemcheckboxicon),{key:0,checked:o.checked,class:z(o.class)},null,8,["checked","class"])):o.checked?(m(),S(T(t.checkboxIcon?"span":"CheckIcon"),I({key:1,class:[o.class,Rn({},t.checkboxIcon,o.checked)],ref_for:!0},r.getCheckboxPTOptions(e,l,n,"pcOptionCheckbox.icon")),null,16,["class"])):C("",!0)]})),_:2},1032,["defaultValue","variant","unstyled","pt"]),v(t.$slots,"option",{option:e,selected:r.isSelected(e),index:r.getOptionIndex(n,l)},(function(){return[$("span",I({ref_for:!0},t.ptm("optionLabel")),x(r.getOptionLabel(e)),17)]}))],16,Wn)),[[b]])],64)})),128)),i.filterValue&&(!s||s&&0===s.length)?(m(),g("li",I({key:0,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage")),[v(t.$slots,"emptyfilter",{},(function(){return[y(x(r.emptyFilterMessageText),1)]}))],16)):!t.options||t.options&&0===t.options.length?(m(),g("li",I({key:1,class:t.cx("emptyMessage"),role:"option"},t.ptm("emptyMessage")),[v(t.$slots,"empty",{},(function(){return[y(x(r.emptyMessageText),1)]}))],16)):C("",!0)],16,Nn)]})),_:2},[t.$slots.loader?{name:"loader",fn:L((function(e){var n=e.options;return[v(t.$slots,"loader",{options:n})]})),key:"0"}:void 0]),1040,["items","style","disabled","pt"])],16),v(t.$slots,"footer",{value:t.d_value,options:r.visibleOptions}),!t.options||t.options&&0===t.options.length?(m(),g("span",I({key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenEmptyMessage"),{"data-p-hidden-accessible":!0}),x(r.emptyMessageText),17)):C("",!0),$("span",I({role:"status","aria-live":"polite",class:"p-hidden-accessible"},t.ptm("hiddenSelectedMessage"),{"data-p-hidden-accessible":!0}),x(r.selectedMessageText),17),$("span",I({ref:"lastHiddenFocusableElementOnOverlay",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:0,onFocus:e[4]||(e[4]=function(){return r.onLastHiddenFocus&&r.onLastHiddenFocus.apply(r,arguments)})},t.ptm("hiddenLastFocusableEl"),{"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0}),null,16)],16)):C("",!0)]})),_:3},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:3},8,["appendTo"])],16)};var Zn={name:"Card",extends:{name:"BaseCard",extends:St,style:wt.extend({name:"card",theme:function(t){var e=t.dt;return"\n.p-card {\n background: ".concat(e("card.background"),";\n color: ").concat(e("card.color"),";\n box-shadow: ").concat(e("card.shadow"),";\n border-radius: ").concat(e("card.border.radius"),";\n display: flex;\n flex-direction: column;\n}\n\n.p-card-caption {\n display: flex;\n flex-direction: column;\n gap: ").concat(e("card.caption.gap"),";\n}\n\n.p-card-body {\n padding: ").concat(e("card.body.padding"),";\n display: flex;\n flex-direction: column;\n gap: ").concat(e("card.body.gap"),";\n}\n\n.p-card-title {\n font-size: ").concat(e("card.title.font.size"),";\n font-weight: ").concat(e("card.title.font.weight"),";\n}\n\n.p-card-subtitle {\n color: ").concat(e("card.subtitle.color"),";\n}\n")},classes:{root:"p-card p-component",header:"p-card-header",body:"p-card-body",caption:"p-card-caption",title:"p-card-title",subtitle:"p-card-subtitle",content:"p-card-content",footer:"p-card-footer"}}),provide:function(){return{$pcCard:this,$parentInstance:this}}},inheritAttrs:!1};Zn.render=function(t,e,n,o,i,r){return m(),g("div",I({class:t.cx("root")},t.ptmi("root")),[t.$slots.header?(m(),g("div",I({key:0,class:t.cx("header")},t.ptm("header")),[v(t.$slots,"header")],16)):C("",!0),$("div",I({class:t.cx("body")},t.ptm("body")),[t.$slots.title||t.$slots.subtitle?(m(),g("div",I({key:0,class:t.cx("caption")},t.ptm("caption")),[t.$slots.title?(m(),g("div",I({key:0,class:t.cx("title")},t.ptm("title")),[v(t.$slots,"title")],16)):C("",!0),t.$slots.subtitle?(m(),g("div",I({key:1,class:t.cx("subtitle")},t.ptm("subtitle")),[v(t.$slots,"subtitle")],16)):C("",!0)],16)):C("",!0),$("div",I({class:t.cx("content")},t.ptm("content")),[v(t.$slots,"content")],16),t.$slots.footer?(m(),g("div",I({key:1,class:t.cx("footer")},t.ptm("footer")),[v(t.$slots,"footer")],16)):C("",!0)],16)],16)};var Xn=wt.extend({name:"contextmenu",theme:function(t){var e=t.dt;return"\n.p-contextmenu {\n background: ".concat(e("contextmenu.background"),";\n color: ").concat(e("contextmenu.color"),";\n border: 1px solid ").concat(e("contextmenu.border.color"),";\n border-radius: ").concat(e("contextmenu.border.radius"),";\n box-shadow: ").concat(e("contextmenu.shadow"),";\n min-width: 12.5rem;\n}\n\n.p-contextmenu-root-list,\n.p-contextmenu-submenu {\n margin: 0;\n padding: ").concat(e("contextmenu.list.padding"),";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(e("contextmenu.list.gap"),";\n}\n\n.p-contextmenu-submenu {\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n z-index: 1;\n background: ").concat(e("contextmenu.background"),";\n color: ").concat(e("contextmenu.color"),";\n border: 1px solid ").concat(e("contextmenu.border.color"),";\n border-radius: ").concat(e("contextmenu.border.radius"),";\n box-shadow: ").concat(e("contextmenu.shadow"),";\n}\n\n.p-contextmenu-item {\n position: relative;\n}\n\n.p-contextmenu-item-content {\n transition: background ").concat(e("contextmenu.transition.duration"),", color ").concat(e("contextmenu.transition.duration"),";\n border-radius: ").concat(e("contextmenu.item.border.radius"),";\n color: ").concat(e("contextmenu.item.color"),";\n}\n\n.p-contextmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(e("contextmenu.item.padding"),";\n gap: ").concat(e("contextmenu.item.gap"),";\n user-select: none;\n}\n\n.p-contextmenu-item-label {\n line-height: 1;\n}\n\n.p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.color"),";\n}\n\n.p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.color"),";\n margin-left: auto;\n font-size: ").concat(e("contextmenu.submenu.icon.size"),";\n width: ").concat(e("contextmenu.submenu.icon.size"),";\n height: ").concat(e("contextmenu.submenu.icon.size"),";\n}\n\n.p-contextmenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content {\n color: ").concat(e("contextmenu.item.focus.color"),";\n background: ").concat(e("contextmenu.item.focus.background"),";\n}\n\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.focus.color"),";\n}\n\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.focus.color"),";\n}\n\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover {\n color: ").concat(e("contextmenu.item.focus.color"),";\n background: ").concat(e("contextmenu.item.focus.background"),";\n}\n\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.focus.color"),";\n}\n\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.focus.color"),";\n}\n\n.p-contextmenu-item-active > .p-contextmenu-item-content {\n color: ").concat(e("contextmenu.item.active.color"),";\n background: ").concat(e("contextmenu.item.active.background"),";\n}\n\n.p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-item-icon {\n color: ").concat(e("contextmenu.item.icon.active.color"),";\n}\n\n.p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\n color: ").concat(e("contextmenu.submenu.icon.active.color"),";\n}\n\n.p-contextmenu-separator {\n border-block-start: 1px solid ").concat(e("contextmenu.separator.border.color"),";\n}\n\n.p-contextmenu-enter-from,\n.p-contextmenu-leave-active {\n opacity: 0;\n}\n\n.p-contextmenu-enter-active {\n transition: opacity 250ms;\n}\n\n.p-contextmenu-mobile .p-contextmenu-submenu {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(e("tieredmenu.submenu.mobile.indent"),";\n padding-inline-end: 0;\n}\n\n.p-contextmenu-mobile .p-contextmenu-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-contextmenu-mobile .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\n transform: rotate(-90deg);\n}\n")},classes:{root:function(t){return["p-contextmenu p-component",{"p-contextmenu-mobile":t.instance.queryMatches}]},rootList:"p-contextmenu-root-list",item:function(t){var e=t.instance,n=t.processedItem;return["p-contextmenu-item",{"p-contextmenu-item-active":e.isItemActive(n),"p-focus":e.isItemFocused(n),"p-disabled":e.isItemDisabled(n)}]},itemContent:"p-contextmenu-item-content",itemLink:"p-contextmenu-item-link",itemIcon:"p-contextmenu-item-icon",itemLabel:"p-contextmenu-item-label",submenuIcon:"p-contextmenu-submenu-icon",submenu:"p-contextmenu-submenu",separator:"p-contextmenu-separator"}}),Yn={name:"BaseContextMenu",extends:St,props:{model:{type:Array,default:null},appendTo:{type:[String,Object],default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},breakpoint:{type:String,default:"960px"},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:Xn,provide:function(){return{$pcContextMenu:this,$parentInstance:this}}},Jn={name:"ContextMenuSub",hostName:"ContextMenu",extends:St,emits:["item-click","item-mouseenter","item-mousemove"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(t){return"".concat(this.menuId,"_").concat(t.key)},getItemKey:function(t){return this.getItemId(t)},getItemProp:function(t,e,n){return t&&t.item?xt(t.item[e],n):void 0},getItemLabel:function(t){return this.getItemProp(t,"label")},getItemLabelId:function(t){return"".concat(this.menuId,"_").concat(t.key,"_label")},getPTOptions:function(t,e,n){return this.ptm(t,{context:{item:e.item,active:this.isItemActive(e),focused:this.isItemFocused(e),disabled:this.isItemDisabled(e),index:n}})},isItemActive:function(t){return this.activeItemPath.some((function(e){return e.key===t.key}))},isItemVisible:function(t){return!1!==this.getItemProp(t,"visible")},isItemDisabled:function(t){return this.getItemProp(t,"disabled")},isItemFocused:function(t){return this.focusedItemId===this.getItemId(t)},isItemGroup:function(t){return K(t.items)},onItemClick:function(t,e){this.getItemProp(e,"command",{originalEvent:t,item:e.item}),this.$emit("item-click",{originalEvent:t,processedItem:e,isFocus:!0})},onItemMouseEnter:function(t,e){this.$emit("item-mouseenter",{originalEvent:t,processedItem:e})},onItemMouseMove:function(t,e){this.$emit("item-mousemove",{originalEvent:t,processedItem:e,isFocus:!0})},getAriaSetSize:function(){var t=this;return this.items.filter((function(e){return t.isItemVisible(e)&&!t.getItemProp(e,"separator")})).length},getAriaPosInset:function(t){var e=this;return t-this.items.slice(0,t).filter((function(t){return e.isItemVisible(t)&&e.getItemProp(t,"separator")})).length+1},onEnter:function(){Ot(this.$refs.container,this.level)},getMenuItemProps:function(t,e){return{action:I({class:this.cx("itemLink"),tabindex:-1},this.getPTOptions("itemLink",t,e)),icon:I({class:[this.cx("itemIcon"),this.getItemProp(t,"icon")]},this.getPTOptions("itemIcon",t,e)),label:I({class:this.cx("itemLabel")},this.getPTOptions("itemLabel",t,e)),submenuicon:I({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",t,e))}}},components:{AngleRightIcon:Bt},directives:{ripple:Ke}},Qn=["tabindex"],to=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-active","data-p-focused","data-p-disabled"],eo=["onClick","onMouseenter","onMousemove"],no=["href","target"],oo=["id"],io=["id"];Jn.render=function(t,e,n,o,i,r){var s=k("AngleRightIcon"),l=k("ContextMenuSub",!0),c=O("ripple");return m(),S(M,I({name:"p-contextmenusub",onEnter:r.onEnter},t.ptm("menu.transition")),{default:L((function(){return[n.root||n.visible?(m(),g("ul",I({key:0,ref:"container",tabindex:n.tabindex},t.ptm("rootList")),[(m(!0),g(F,null,E(n.items,(function(o,i){return m(),g(F,{key:r.getItemKey(o)},[r.isItemVisible(o)&&!r.getItemProp(o,"separator")?(m(),g("li",I({key:0,id:r.getItemId(o),style:r.getItemProp(o,"style"),class:[t.cx("item",{processedItem:o}),r.getItemProp(o,"class")],role:"menuitem","aria-label":r.getItemLabel(o),"aria-disabled":r.isItemDisabled(o)||void 0,"aria-expanded":r.isItemGroup(o)?r.isItemActive(o):void 0,"aria-haspopup":r.isItemGroup(o)&&!r.getItemProp(o,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":r.getAriaSetSize(),"aria-posinset":r.getAriaPosInset(i),ref_for:!0},r.getPTOptions("item",o,i),{"data-p-active":r.isItemActive(o),"data-p-focused":r.isItemFocused(o),"data-p-disabled":r.isItemDisabled(o)}),[$("div",I({class:t.cx("itemContent"),onClick:function(t){return r.onItemClick(t,o)},onMouseenter:function(t){return r.onItemMouseEnter(t,o)},onMousemove:function(t){return r.onItemMouseMove(t,o)},ref_for:!0},r.getPTOptions("itemContent",o,i)),[n.templates.item?(m(),S(T(n.templates.item),{key:1,item:o.item,hasSubmenu:r.getItemProp(o,"items"),label:r.getItemLabel(o),props:r.getMenuItemProps(o,i)},null,8,["item","hasSubmenu","label","props"])):w((m(),g("a",I({key:0,href:r.getItemProp(o,"url"),class:t.cx("itemLink"),target:r.getItemProp(o,"target"),tabindex:"-1",ref_for:!0},r.getPTOptions("itemLink",o,i)),[n.templates.itemicon?(m(),S(T(n.templates.itemicon),{key:0,item:o.item,class:z(t.cx("itemIcon"))},null,8,["item","class"])):r.getItemProp(o,"icon")?(m(),g("span",I({key:1,class:[t.cx("itemIcon"),r.getItemProp(o,"icon")],ref_for:!0},r.getPTOptions("itemIcon",o,i)),null,16)):C("",!0),$("span",I({id:r.getItemLabelId(o),class:t.cx("itemLabel"),ref_for:!0},r.getPTOptions("itemLabel",o,i)),x(r.getItemLabel(o)),17,oo),r.getItemProp(o,"items")?(m(),g(F,{key:2},[n.templates.submenuicon?(m(),S(T(n.templates.submenuicon),{key:0,active:r.isItemActive(o),class:z(t.cx("submenuIcon"))},null,8,["active","class"])):(m(),S(s,I({key:1,class:t.cx("submenuIcon"),ref_for:!0},r.getPTOptions("submenuicon",o,i)),null,16,["class"]))],64)):C("",!0)],16,no)),[[c]])],16,eo),r.isItemVisible(o)&&r.isItemGroup(o)?(m(),S(l,I({key:0,id:r.getItemId(o)+"_list",role:"menu",class:t.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:o.items,templates:n.templates,activeItemPath:n.activeItemPath,level:n.level+1,visible:r.isItemActive(o)&&r.isItemGroup(o),pt:t.pt,unstyled:t.unstyled,onItemClick:e[0]||(e[0]=function(e){return t.$emit("item-click",e)}),onItemMouseenter:e[1]||(e[1]=function(e){return t.$emit("item-mouseenter",e)}),onItemMousemove:e[2]||(e[2]=function(e){return t.$emit("item-mousemove",e)}),"aria-labelledby":r.getItemLabelId(o),ref_for:!0},t.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","level","visible","pt","unstyled","aria-labelledby"])):C("",!0)],16,to)):C("",!0),r.isItemVisible(o)&&r.getItemProp(o,"separator")?(m(),g("li",I({key:1,id:r.getItemId(o),style:r.getItemProp(o,"style"),class:[t.cx("separator"),r.getItemProp(o,"class")],role:"separator",ref_for:!0},t.ptm("separator")),null,16,io)):C("",!0)],64)})),128))],16,Qn)):C("",!0)]})),_:1},16,["onEnter"])};var ro={name:"ContextMenu",extends:Yn,inheritAttrs:!1,emits:["focus","blur","show","hide","before-show","before-hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,matchMediaListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1,query:null,queryMatches:!1}},watch:{"$attrs.id":function(t){this.id=t||zt()},activeItemPath:function(t){K(t)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||zt(),this.bindMatchMediaListener(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.unbindMatchMediaListener(),this.container&&this.autoZIndex&&Q.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(t,e){return t?xt(t[e]):void 0},getItemLabel:function(t){return this.getItemProp(t,"label")},isItemDisabled:function(t){return this.getItemProp(t,"disabled")},isItemVisible:function(t){return!1!==this.getItemProp(t,"visible")},isItemGroup:function(t){return K(this.getItemProp(t,"items"))},isItemSeparator:function(t){return this.getItemProp(t,"separator")},getProccessedItemLabel:function(t){return t?this.getItemLabel(t.item):void 0},isProccessedItemGroup:function(t){return t&&K(t.items)},toggle:function(t){this.visible?this.hide():this.show(t)},show:function(t){this.$emit("before-show"),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},et(this.list),this.pageX=t.pageX,this.pageY=t.pageY,this.visible?this.position():this.visible=!0,t.stopPropagation(),t.preventDefault()},hide:function(){this.$emit("before-hide"),this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(t){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",t)},onBlur:function(t){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",t)},onKeyDown:function(t){var e=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":case"NumpadEnter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!e&&ot(t.key)&&this.searchItems(t,t.key)}},onItemChange:function(t,e){var n=t.processedItem,o=t.isFocus;if(!B(n)){var i=n.index,r=n.key,s=n.level,l=n.parentKey,c=n.items,a=K(c),u=this.activeItemPath.filter((function(t){return t.parentKey!==l&&t.parentKey!==r}));a&&(u.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:i,level:s,parentKey:l},o&&et(this.list),"hover"===e&&this.queryMatches||(this.activeItemPath=u)}},onItemClick:function(t){var e=t.processedItem,n=this.isProccessedItemGroup(e);if(this.isSelected(e)){var o=e.index,i=e.key,r=e.level,s=e.parentKey;this.activeItemPath=this.activeItemPath.filter((function(t){return i!==t.key&&i.startsWith(t.key)})),this.focusedItemInfo={index:o,level:r,parentKey:s},et(this.list)}else n?this.onItemChange(t):this.hide()},onItemMouseEnter:function(t){this.onItemChange(t,"hover")},onItemMouseMove:function(t){this.focused&&this.changeFocusedItemIndex(t,t.processedItem.index)},onArrowDownKey:function(t){var e=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(t,e),t.preventDefault()},onArrowUpKey:function(t){if(t.altKey){if(-1!==this.focusedItemInfo.index){var e=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(e)&&this.onItemChange({originalEvent:t,processedItem:e})}this.popup&&this.hide(),t.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(t,n),t.preventDefault()}},onArrowLeftKey:function(t){var e=this,n=this.visibleItems[this.focusedItemInfo.index],o=this.activeItemPath.find((function(t){return t.key===n.parentKey}));B(n.parent)||(this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowDownKey(t)),this.activeItemPath=this.activeItemPath.filter((function(t){return t.parentKey!==e.focusedItemInfo.parentKey})),t.preventDefault()},onArrowRightKey:function(t){var e=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(e)&&(this.onItemChange({originalEvent:t,processedItem:e}),this.focusedItemInfo={index:-1,parentKey:e.key},this.searchValue="",this.onArrowDownKey(t)),t.preventDefault()},onHomeKey:function(t){this.changeFocusedItemIndex(t,this.findFirstItemIndex()),t.preventDefault()},onEndKey:function(t){this.changeFocusedItemIndex(t,this.findLastItemIndex()),t.preventDefault()},onEnterKey:function(t){if(-1!==this.focusedItemInfo.index){var e=J(this.list,'li[id="'.concat("".concat(this.focusedItemIdx),'"]')),n=e&&J(e,'[data-pc-section="itemlink"]');n?n.click():e&&e.click();var o=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(o)&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}t.preventDefault()},onSpaceKey:function(t){this.onEnterKey(t)},onEscapeKey:function(t){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),t.preventDefault()},onTabKey:function(t){if(-1!==this.focusedItemInfo.index){var e=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(e)&&this.onItemChange({originalEvent:t,processedItem:e})}this.hide()},onEnter:function(t){st(t,{position:"absolute"}),this.position(),this.autoZIndex&&Q.set("menu",t,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),et(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(t){this.autoZIndex&&Q.clear(t),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var t=this.pageX+1,e=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:It(this.container),o=this.container.offsetParent?this.container.offsetHeight:kt(this.container),i=gt(),r=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,s=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0;t+n-s>i.width&&(t-=n),e+o-r>i.height&&(e-=o),t-1?n+t+1:t},findPrevItemIndex:function(t){var e=this,n=t>0?pt(this.visibleItems.slice(0,t),(function(t){return e.isValidItem(t)})):-1;return n>-1?n:t},findSelectedItemIndex:function(){var t=this;return this.visibleItems.findIndex((function(e){return t.isValidSelectedItem(e)}))},findFirstFocusedItemIndex:function(){var t=this.findSelectedItemIndex();return t<0?this.findFirstItemIndex():t},findLastFocusedItemIndex:function(){var t=this.findSelectedItemIndex();return t<0?this.findLastItemIndex():t},searchItems:function(t,e){var n=this;this.searchValue=(this.searchValue||"")+e;var o=-1,i=!1;return-1!==(o=-1!==this.focusedItemInfo.index?-1===(o=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(t){return n.isItemMatched(t)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(t){return n.isItemMatched(t)})):o+this.focusedItemInfo.index:this.visibleItems.findIndex((function(t){return n.isItemMatched(t)})))&&(i=!0),-1===o&&-1===this.focusedItemInfo.index&&(o=this.findFirstFocusedItemIndex()),-1!==o&&this.changeFocusedItemIndex(t,o),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.searchTimeout=null}),500),i},changeFocusedItemIndex:function(t,e){this.focusedItemInfo.index!==e&&(this.focusedItemInfo.index=e,this.scrollInView())},scrollInView:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,e=-1!==t?"".concat(this.id,"_").concat(t):this.focusedItemIdx,n=J(this.list,'li[id="'.concat(e,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=[];return t&&t.forEach((function(t,s){var l=(""!==i?i+"_":"")+s,c={item:t,index:s,level:n,key:l,parent:o,parentKey:i};c.items=e.createProcessedItems(t.items,n+1,c,l),r.push(c)})),r},containerRef:function(t){this.container=t},listRef:function(t){this.list=t?t.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var t=this,e=this.activeItemPath.find((function(e){return e.key===t.focusedItemInfo.parentKey}));return e?e.items:this.processedItems},focusedItemIdx:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(K(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:Jn,Portal:Ze}};ro.render=function(t,e,n,o,i,r){var s=k("ContextMenuSub"),l=k("Portal");return m(),S(l,{appendTo:t.appendTo},{default:L((function(){return[V(M,I({name:"p-contextmenu",onEnter:r.onEnter,onAfterEnter:r.onAfterEnter,onLeave:r.onLeave,onAfterLeave:r.onAfterLeave},t.ptm("transition")),{default:L((function(){return[i.visible?(m(),g("div",I({key:0,ref:r.containerRef,class:t.cx("root")},t.ptmi("root")),[V(s,{ref:r.listRef,id:i.id+"_list",class:z(t.cx("rootList")),role:"menubar",root:!0,tabindex:t.tabindex,"aria-orientation":"vertical","aria-activedescendant":i.focused?r.focusedItemIdx:void 0,menuId:i.id,focusedItemId:i.focused?r.focusedItemIdx:void 0,items:r.processedItems,templates:t.$slots,activeItemPath:i.activeItemPath,"aria-labelledby":t.ariaLabelledby,"aria-label":t.ariaLabel,level:0,visible:i.submenuVisible,pt:t.pt,unstyled:t.unstyled,onFocus:r.onFocus,onBlur:r.onBlur,onKeydown:r.onKeyDown,onItemClick:r.onItemClick,onItemMouseenter:r.onItemMouseEnter,onItemMousemove:r.onItemMouseMove},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter","onItemMousemove"])],16)):C("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])};var so=wt.extend({name:"togglebutton",theme:function(t){var e=t.dt;return"\n.p-togglebutton {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: ".concat(e("togglebutton.color"),";\n background: ").concat(e("togglebutton.background"),";\n border: 1px solid ").concat(e("togglebutton.border.color"),";\n padding: ").concat(e("togglebutton.padding"),";\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ").concat(e("togglebutton.transition.duration"),", color ").concat(e("togglebutton.transition.duration"),", border-color ").concat(e("togglebutton.transition.duration"),",\n outline-color ").concat(e("togglebutton.transition.duration"),", box-shadow ").concat(e("togglebutton.transition.duration"),";\n border-radius: ").concat(e("togglebutton.border.radius"),";\n outline-color: transparent;\n font-weight: ").concat(e("togglebutton.font.weight"),";\n}\n\n.p-togglebutton-content {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ").concat(e("togglebutton.gap"),';\n}\n\n.p-togglebutton-label,\n.p-togglebutton-icon {\n position: relative;\n transition: none;\n}\n\n.p-togglebutton::before {\n content: "";\n background: transparent;\n transition: background ').concat(e("togglebutton.transition.duration"),", color ").concat(e("togglebutton.transition.duration"),", border-color ").concat(e("togglebutton.transition.duration"),",\n outline-color ").concat(e("togglebutton.transition.duration"),", box-shadow ").concat(e("togglebutton.transition.duration"),";\n position: absolute;\n inset-inline-start: ").concat(e("togglebutton.content.left"),";\n inset-block-start: ").concat(e("togglebutton.content.top"),";\n width: calc(100% - calc(2 * ").concat(e("togglebutton.content.left"),"));\n height: calc(100% - calc(2 * ").concat(e("togglebutton.content.top"),"));\n border-radius: ").concat(e("togglebutton.border.radius"),";\n}\n\n.p-togglebutton.p-togglebutton-checked::before {\n background: ").concat(e("togglebutton.content.checked.background"),";\n box-shadow: ").concat(e("togglebutton.content.checked.shadow"),";\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\n background: ").concat(e("togglebutton.hover.background"),";\n color: ").concat(e("togglebutton.hover.color"),";\n}\n\n.p-togglebutton.p-togglebutton-checked {\n background: ").concat(e("togglebutton.checked.background"),";\n border-color: ").concat(e("togglebutton.checked.border.color"),";\n color: ").concat(e("togglebutton.checked.color"),";\n}\n\n.p-togglebutton:focus-visible {\n box-shadow: ").concat(e("togglebutton.focus.ring.shadow"),";\n outline: ").concat(e("togglebutton.focus.ring.width")," ").concat(e("togglebutton.focus.ring.style")," ").concat(e("togglebutton.focus.ring.color"),";\n outline-offset: ").concat(e("togglebutton.focus.ring.offset"),";\n}\n\n.p-togglebutton.p-invalid {\n border-color: ").concat(e("togglebutton.invalid.border.color"),";\n}\n\n.p-togglebutton:disabled {\n opacity: 1;\n cursor: default;\n background: ").concat(e("togglebutton.disabled.background"),";\n border-color: ").concat(e("togglebutton.disabled.border.color"),";\n color: ").concat(e("togglebutton.disabled.color"),";\n}\n\n.p-togglebutton-icon {\n color: ").concat(e("togglebutton.icon.color"),";\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\n color: ").concat(e("togglebutton.icon.hover.color"),";\n}\n\n.p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\n color: ").concat(e("togglebutton.icon.checked.color"),";\n}\n\n.p-togglebutton:disabled .p-togglebutton-icon {\n color: ").concat(e("togglebutton.icon.disabled.color"),";\n}\n\n.p-togglebutton-sm {\n padding: ").concat(e("togglebutton.sm.padding"),";\n font-size: ").concat(e("togglebutton.sm.font.size"),";\n}\n\n.p-togglebutton-lg {\n padding: ").concat(e("togglebutton.lg.padding"),";\n font-size: ").concat(e("togglebutton.lg.font.size"),";\n}\n")},classes:{root:function(t){var e=t.instance,n=t.props;return["p-togglebutton p-component",{"p-togglebutton-checked":e.active,"p-invalid":e.$invalid,"p-togglebutton-sm p-inputfield-sm":"small"===n.size,"p-togglebutton-lg p-inputfield-lg":"large"===n.size}]},content:"p-togglebutton-content",icon:"p-togglebutton-icon",label:"p-togglebutton-label"}}),lo={name:"ToggleButton",extends:{name:"BaseToggleButton",extends:Dt,props:{onIcon:String,offIcon:String,onLabel:{type:String,default:"Yes"},offLabel:{type:String,default:"No"},iconPos:{type:String,default:"left"},readonly:{type:Boolean,default:!1},tabindex:{type:Number,default:null},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null},size:{type:String,default:null}},style:so,provide:function(){return{$pcToggleButton:this,$parentInstance:this}}},inheritAttrs:!1,emits:["change"],methods:{getPTOptions:function(t){return("root"===t?this.ptmi:this.ptm)(t,{context:{active:this.active,disabled:this.disabled}})},onChange:function(t){this.disabled||this.readonly||(this.writeValue(!this.d_value,t),this.$emit("change",t))},onBlur:function(t){var e,n;null===(e=(n=this.formField).onBlur)||void 0===e||e.call(n,t)}},computed:{active:function(){return!0===this.d_value},hasLabel:function(){return K(this.onLabel)&&K(this.offLabel)},label:function(){return this.hasLabel?this.d_value?this.onLabel:this.offLabel:" "}},directives:{ripple:Ke}},co=["tabindex","disabled","aria-pressed","aria-labelledby","data-p-checked","data-p-disabled"];lo.render=function(t,e,n,o,i,r){var s=O("ripple");return w((m(),g("button",I({type:"button",class:t.cx("root"),tabindex:t.tabindex,disabled:t.disabled,"aria-pressed":t.d_value,onClick:e[0]||(e[0]=function(){return r.onChange&&r.onChange.apply(r,arguments)}),onBlur:e[1]||(e[1]=function(){return r.onBlur&&r.onBlur.apply(r,arguments)})},r.getPTOptions("root"),{"aria-labelledby":t.ariaLabelledby,"data-p-checked":r.active,"data-p-disabled":t.disabled}),[$("span",I({class:t.cx("content")},r.getPTOptions("content")),[v(t.$slots,"default",{},(function(){return[v(t.$slots,"icon",{value:t.d_value,class:z(t.cx("icon"))},(function(){return[t.onIcon||t.offIcon?(m(),g("span",I({key:0,class:[t.cx("icon"),t.d_value?t.onIcon:t.offIcon]},r.getPTOptions("icon")),null,16)):C("",!0)]})),$("span",I({class:t.cx("label")},r.getPTOptions("label")),x(r.label),17)]}))],16)],16,co)),[[s]])};var ao=wt.extend({name:"selectbutton",theme:function(t){var e=t.dt;return"\n.p-selectbutton {\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n outline-color: transparent;\n border-radius: ".concat(e("selectbutton.border.radius"),";\n}\n\n.p-selectbutton .p-togglebutton {\n border-radius: 0;\n border-width: 1px 1px 1px 0;\n}\n\n.p-selectbutton .p-togglebutton:focus-visible {\n position: relative;\n z-index: 1;\n}\n\n.p-selectbutton .p-togglebutton:first-child {\n border-inline-start-width: 1px;\n border-start-start-radius: ").concat(e("selectbutton.border.radius"),";\n border-end-start-radius: ").concat(e("selectbutton.border.radius"),";\n}\n\n.p-selectbutton .p-togglebutton:last-child {\n border-start-end-radius: ").concat(e("selectbutton.border.radius"),";\n border-end-end-radius: ").concat(e("selectbutton.border.radius"),";\n}\n\n.p-selectbutton.p-invalid {\n outline: 1px solid ").concat(e("selectbutton.invalid.border.color"),";\n outline-offset: 0;\n}\n")},classes:{root:function(t){return["p-selectbutton p-component",{"p-invalid":t.instance.$invalid}]}}});function uo(t){return function(t){if(Array.isArray(t))return ho(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||po(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function po(t,e){if(t){if("string"==typeof t)return ho(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ho(t,e):void 0}}function ho(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}(this.d_value);try{for(i.s();!(o=i.n()).done;){var r=o.value;if(dt(r,n,this.equalityKey)){e=!0;break}}}catch(s){i.e(s)}finally{i.f()}}}else e=dt(this.d_value,n,this.equalityKey);return e}},computed:{equalityKey:function(){return this.optionValue?null:this.dataKey}},directives:{ripple:Ke},components:{ToggleButton:lo}},bo=["aria-labelledby"];fo.render=function(t,e,n,o,i,r){var s=k("ToggleButton");return m(),g("div",I({class:t.cx("root"),role:"group","aria-labelledby":t.ariaLabelledby},t.ptmi("root")),[(m(!0),g(F,null,E(t.options,(function(e,n){return m(),S(s,{key:r.getOptionRenderKey(e),modelValue:r.isSelected(e),onLabel:r.getOptionLabel(e),offLabel:r.getOptionLabel(e),disabled:t.disabled||r.isOptionDisabled(e),unstyled:t.unstyled,size:t.size,readonly:!t.allowEmpty&&r.isSelected(e),onChange:function(t){return r.onOptionSelect(t,e,n)},pt:t.ptm("pcToggleButton")},P({_:2},[t.$slots.option?{name:"default",fn:L((function(){return[v(t.$slots,"option",{option:e,index:n},(function(){return[$("span",I({ref_for:!0},t.ptm("pcToggleButton").label),x(r.getOptionLabel(e)),17)]}))]})),key:"0"}:void 0]),1032,["modelValue","onLabel","offLabel","disabled","unstyled","size","readonly","onChange","pt"])})),128))],16,bo)};export{On as T,dn as a,jn as b,re as c,ie as d,Ue as e,Ne as f,Ge as g,Ce as h,fo as i,Zn as j,ro as k,qt as l,Re as s}; diff --git a/web_version/v2/assets/vue-CYk3Qk0T.js b/web_version/v2/assets/vue-CYk3Qk0T.js deleted file mode 100644 index 1ea7ca5..0000000 --- a/web_version/v2/assets/vue-CYk3Qk0T.js +++ /dev/null @@ -1,23 +0,0 @@ -/** -* @vue/shared v3.5.17 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -/*! #__NO_SIDE_EFFECTS__ */ -function e(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}const t={},n=[],s=()=>{},r=()=>!1,o=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),i=e=>e.startsWith("onUpdate:"),l=Object.assign,c=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},a=Object.prototype.hasOwnProperty,u=(e,t)=>a.call(e,t),f=Array.isArray,p=e=>"[object Map]"===b(e),d=e=>"[object Set]"===b(e),h=e=>"function"==typeof e,v=e=>"string"==typeof e,g=e=>"symbol"==typeof e,m=e=>null!==e&&"object"==typeof e,_=e=>(m(e)||h(e))&&h(e.then)&&h(e.catch),y=Object.prototype.toString,b=e=>y.call(e),x=e=>b(e).slice(8,-1),S=e=>"[object Object]"===b(e),C=e=>v(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,w=e(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),k=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},A=/-(\w)/g,E=k((e=>e.replace(A,((e,t)=>t?t.toUpperCase():"")))),T=/\B([A-Z])/g,O=k((e=>e.replace(T,"-$1").toLowerCase())),F=k((e=>e.charAt(0).toUpperCase()+e.slice(1))),M=k((e=>e?`on${F(e)}`:"")),L=(e,t)=>!Object.is(e,t),j=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},$=e=>{const t=parseFloat(e);return isNaN(t)?e:t},D=e=>{const t=v(e)?Number(e):NaN;return isNaN(t)?e:t};let R;const V=()=>R||(R="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function I(e){if(f(e)){const t={};for(let n=0;n{if(e){const n=e.split(U);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function H(e){let t="";if(v(e))t=e;else if(f(e))for(let n=0;n!(!e||!0!==e.__v_isRef),J=e=>v(e)?e:null==e?"":f(e)||m(e)&&(e.toString===y||!h(e.toString))?G(e)?J(e.value):JSON.stringify(e,Z,2):String(e),Z=(e,t)=>G(t)?Z(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],s)=>(e[X(t,s)+" =>"]=n,e)),{})}:d(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>X(e)))}:g(t)?X(t):!m(t)||f(t)||S(t)?t:String(t),X=(e,t="")=>{var n;return g(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}; -/** -* @vue/reactivity v3.5.17 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -let Q,Y;class ee{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Q,!e&&Q&&(this.index=(Q.scopes||(Q.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0==--this._on&&(Q=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,n;for(this._active=!1,t=0,n=this.effects.length;t0)return;if(le){let e=le;for(le=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;ie;){let n=ie;for(ie=void 0;n;){const s=n.next;if(n.next=void 0,n.flags&=-9,1&n.flags)try{n.trigger()}catch(t){e||(e=t)}n=s}}if(e)throw e}function pe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function de(e){let t,n=e.depsTail,s=n;for(;s;){const e=s.prevDep;-1===s.version?(s===n&&(n=e),ge(s),me(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=e}e.deps=t,e.depsTail=n}function he(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ve(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ve(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Ce)return;if(e.globalVersion=Ce,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!he(e)))return;e.flags|=2;const t=e.dep,n=Y,s=_e;Y=e,_e=!0;try{pe(e);const n=e.fn(e._value);(0===t.version||L(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(r){throw t.version++,r}finally{Y=n,_e=s,de(e),e.flags&=-3}}function ge(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)ge(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function me(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let _e=!0;const ye=[];function be(){ye.push(_e),_e=!1}function xe(){const e=ye.pop();_e=void 0===e||e}function Se(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=Y;Y=void 0;try{t()}finally{Y=e}}}let Ce=0;class we{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ke{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Y||!_e||Y===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==Y)t=this.activeLink=new we(Y,this),Y.deps?(t.prevDep=Y.depsTail,Y.depsTail.nextDep=t,Y.depsTail=t):Y.deps=Y.depsTail=t,Ae(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Y.depsTail,t.nextDep=void 0,Y.depsTail.nextDep=t,Y.depsTail=t,Y.deps===t&&(Y.deps=e)}return t}trigger(e){this.version++,Ce++,this.notify(e)}notify(e){ue();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{fe()}}}function Ae(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ae(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ee=new WeakMap,Te=Symbol(""),Oe=Symbol(""),Fe=Symbol("");function Me(e,t,n){if(_e&&Y){let t=Ee.get(e);t||Ee.set(e,t=new Map);let s=t.get(n);s||(t.set(n,s=new ke),s.map=t,s.key=n),s.track()}}function Le(e,t,n,s,r,o){const i=Ee.get(e);if(!i)return void Ce++;const l=e=>{e&&e.trigger()};if(ue(),"clear"===t)i.forEach(l);else{const r=f(e),o=r&&C(n);if(r&&"length"===n){const e=Number(s);i.forEach(((t,n)=>{("length"===n||n===Fe||!g(n)&&n>=e)&&l(t)}))}else switch((void 0!==n||i.has(void 0))&&l(i.get(n)),o&&l(i.get(Fe)),t){case"add":r?o&&l(i.get("length")):(l(i.get(Te)),p(e)&&l(i.get(Oe)));break;case"delete":r||(l(i.get(Te)),p(e)&&l(i.get(Oe)));break;case"set":p(e)&&l(i.get(Te))}}fe()}function je(e){const t=gt(e);return t===e?t:(Me(t,0,Fe),ht(e)?t:t.map(_t))}function Pe(e){return Me(e=gt(e),0,Fe),e}const $e={__proto__:null,[Symbol.iterator](){return De(this,Symbol.iterator,_t)},concat(...e){return je(this).concat(...e.map((e=>f(e)?je(e):e)))},entries(){return De(this,"entries",(e=>(e[1]=_t(e[1]),e)))},every(e,t){return Ve(this,"every",e,t,void 0,arguments)},filter(e,t){return Ve(this,"filter",e,t,(e=>e.map(_t)),arguments)},find(e,t){return Ve(this,"find",e,t,_t,arguments)},findIndex(e,t){return Ve(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ve(this,"findLast",e,t,_t,arguments)},findLastIndex(e,t){return Ve(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ve(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ne(this,"includes",e)},indexOf(...e){return Ne(this,"indexOf",e)},join(e){return je(this).join(e)},lastIndexOf(...e){return Ne(this,"lastIndexOf",e)},map(e,t){return Ve(this,"map",e,t,void 0,arguments)},pop(){return Ue(this,"pop")},push(...e){return Ue(this,"push",e)},reduce(e,...t){return Ie(this,"reduce",e,t)},reduceRight(e,...t){return Ie(this,"reduceRight",e,t)},shift(){return Ue(this,"shift")},some(e,t){return Ve(this,"some",e,t,void 0,arguments)},splice(...e){return Ue(this,"splice",e)},toReversed(){return je(this).toReversed()},toSorted(e){return je(this).toSorted(e)},toSpliced(...e){return je(this).toSpliced(...e)},unshift(...e){return Ue(this,"unshift",e)},values(){return De(this,"values",_t)}};function De(e,t,n){const s=Pe(e),r=s[t]();return s===e||ht(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=n(e.value)),e}),r}const Re=Array.prototype;function Ve(e,t,n,s,r,o){const i=Pe(e),l=i!==e&&!ht(e),c=i[t];if(c!==Re[t]){const t=c.apply(e,o);return l?_t(t):t}let a=n;i!==e&&(l?a=function(t,s){return n.call(this,_t(t),s,e)}:n.length>2&&(a=function(t,s){return n.call(this,t,s,e)}));const u=c.call(i,a,s);return l&&r?r(u):u}function Ie(e,t,n,s){const r=Pe(e);let o=n;return r!==e&&(ht(e)?n.length>3&&(o=function(t,s,r){return n.call(this,t,s,r,e)}):o=function(t,s,r){return n.call(this,t,_t(s),r,e)}),r[t](o,...s)}function Ne(e,t,n){const s=gt(e);Me(s,0,Fe);const r=s[t](...n);return-1!==r&&!1!==r||!vt(n[0])?r:(n[0]=gt(n[0]),s[t](...n))}function Ue(e,t,n=[]){be(),ue();const s=gt(e)[t].apply(e,n);return fe(),xe(),s}const Be=e("__proto__,__v_isRef,__isVue"),We=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(g));function He(e){g(e)||(e=String(e));const t=gt(this);return Me(t,0,e),t.hasOwnProperty(e)}class Ke{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const s=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!s;if("__v_isReadonly"===t)return s;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(s?r?ct:lt:r?it:ot).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const o=f(e);if(!s){let e;if(o&&(e=$e[t]))return e;if("hasOwnProperty"===t)return He}const i=Reflect.get(e,t,bt(e)?e:n);return(g(t)?We.has(t):Be(t))?i:(s||Me(e,0,t),r?i:bt(i)?o&&C(t)?i:i.value:m(i)?s?ut(i):at(i):i)}}class ze extends Ke{constructor(e=!1){super(!1,e)}set(e,t,n,s){let r=e[t];if(!this._isShallow){const t=dt(r);if(ht(n)||dt(n)||(r=gt(r),n=gt(n)),!f(e)&&bt(r)&&!bt(n))return!t&&(r.value=n,!0)}const o=f(e)&&C(t)?Number(t)e,Qe=e=>Reflect.getPrototypeOf(e);function Ye(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function et(e,t){const n={get(n){const s=this.__v_raw,r=gt(s),o=gt(n);e||(L(n,o)&&Me(r,0,n),Me(r,0,o));const{has:i}=Qe(r),l=t?Xe:e?yt:_t;return i.call(r,n)?l(s.get(n)):i.call(r,o)?l(s.get(o)):void(s!==r&&s.get(n))},get size(){const t=this.__v_raw;return!e&&Me(gt(t),0,Te),Reflect.get(t,"size",t)},has(t){const n=this.__v_raw,s=gt(n),r=gt(t);return e||(L(t,r)&&Me(s,0,t),Me(s,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,s){const r=this,o=r.__v_raw,i=gt(o),l=t?Xe:e?yt:_t;return!e&&Me(i,0,Te),o.forEach(((e,t)=>n.call(s,l(e),l(t),r)))}};l(n,e?{add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear")}:{add(e){t||ht(e)||dt(e)||(e=gt(e));const n=gt(this);return Qe(n).has.call(n,e)||(n.add(e),Le(n,"add",e,e)),this},set(e,n){t||ht(n)||dt(n)||(n=gt(n));const s=gt(this),{has:r,get:o}=Qe(s);let i=r.call(s,e);i||(e=gt(e),i=r.call(s,e));const l=o.call(s,e);return s.set(e,n),i?L(n,l)&&Le(s,"set",e,n):Le(s,"add",e,n),this},delete(e){const t=gt(this),{has:n,get:s}=Qe(t);let r=n.call(t,e);r||(e=gt(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Le(t,"delete",e,void 0),o},clear(){const e=gt(this),t=0!==e.size,n=e.clear();return t&&Le(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach((s=>{n[s]=function(e,t,n){return function(...s){const r=this.__v_raw,o=gt(r),i=p(o),l="entries"===e||e===Symbol.iterator&&i,c="keys"===e&&i,a=r[e](...s),u=n?Xe:t?yt:_t;return!t&&Me(o,0,c?Oe:Te),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:l?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}(s,e,t)})),n}function tt(e,t){const n=et(e,t);return(t,s,r)=>"__v_isReactive"===s?!e:"__v_isReadonly"===s?e:"__v_raw"===s?t:Reflect.get(u(n,s)&&s in t?n:t,s,r)}const nt={get:tt(!1,!1)},st={get:tt(!1,!0)},rt={get:tt(!0,!1)},ot=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap;function at(e){return dt(e)?e:ft(e,!1,Ge,nt,ot)}function ut(e){return ft(e,!0,Je,rt,lt)}function ft(e,t,n,s,r){if(!m(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const o=(i=e).__v_skip||!Object.isExtensible(i)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(x(i));var i;if(0===o)return e;const l=r.get(e);if(l)return l;const c=new Proxy(e,2===o?s:n);return r.set(e,c),c}function pt(e){return dt(e)?pt(e.__v_raw):!(!e||!e.__v_isReactive)}function dt(e){return!(!e||!e.__v_isReadonly)}function ht(e){return!(!e||!e.__v_isShallow)}function vt(e){return!!e&&!!e.__v_raw}function gt(e){const t=e&&e.__v_raw;return t?gt(t):e}function mt(e){return!u(e,"__v_skip")&&Object.isExtensible(e)&&P(e,"__v_skip",!0),e}const _t=e=>m(e)?at(e):e,yt=e=>m(e)?ut(e):e;function bt(e){return!!e&&!0===e.__v_isRef}function xt(e){return Ct(e,!1)}function St(e){return Ct(e,!0)}function Ct(e,t){return bt(e)?e:new wt(e,t)}class wt{constructor(e,t){this.dep=new ke,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:gt(e),this._value=t?e:_t(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||ht(e)||dt(e);e=n?e:gt(e),L(e,t)&&(this._rawValue=e,this._value=n?e:_t(e),this.dep.trigger())}}function kt(e){return bt(e)?e.value:e}function At(e){return h(e)?e():kt(e)}const Et={get:(e,t,n)=>"__v_raw"===t?e:kt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return bt(r)&&!bt(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Tt(e){return pt(e)?e:new Proxy(e,Et)}class Ot{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new ke,{get:n,set:s}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=s}get value(){return this._value=this._get()}set value(e){this._set(e)}}function Ft(e){const t=f(e)?new Array(e.length):{};for(const n in e)t[n]=Pt(e,n);return t}class Mt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=Ee.get(e);return n&&n.get(t)}(gt(this._object),this._key)}}class Lt{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function jt(e,t,n){return bt(e)?e:h(e)?new Lt(e):m(e)&&arguments.length>1?Pt(e,t,n):xt(e)}function Pt(e,t,n){const s=e[t];return bt(s)?s:new Mt(e,t,n)}class $t{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new ke(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ce-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&Y!==this)return ae(this,!0),!0}get value(){const e=this.dep.track();return ve(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Dt={},Rt=new WeakMap;let Vt;function It(e,n,r=t){const{immediate:o,deep:i,once:l,scheduler:a,augmentJob:u,call:p}=r,d=e=>i?e:ht(e)||!1===i||0===i?Nt(e,1):Nt(e);let v,g,m,_,y=!1,b=!1;if(bt(e)?(g=()=>e.value,y=ht(e)):pt(e)?(g=()=>d(e),y=!0):f(e)?(b=!0,y=e.some((e=>pt(e)||ht(e))),g=()=>e.map((e=>bt(e)?e.value:pt(e)?d(e):h(e)?p?p(e,2):e():void 0))):g=h(e)?n?p?()=>p(e,2):e:()=>{if(m){be();try{m()}finally{xe()}}const t=Vt;Vt=v;try{return p?p(e,3,[_]):e(_)}finally{Vt=t}}:s,n&&i){const e=g,t=!0===i?1/0:i;g=()=>Nt(e(),t)}const x=ne(),S=()=>{v.stop(),x&&x.active&&c(x.effects,v)};if(l&&n){const e=n;n=(...t)=>{e(...t),S()}}let C=b?new Array(e.length).fill(Dt):Dt;const w=e=>{if(1&v.flags&&(v.dirty||e))if(n){const e=v.run();if(i||y||(b?e.some(((e,t)=>L(e,C[t]))):L(e,C))){m&&m();const t=Vt;Vt=v;try{const t=[e,C===Dt?void 0:b&&C[0]===Dt?[]:C,_];C=e,p?p(n,3,t):n(...t)}finally{Vt=t}}}else v.run()};return u&&u(w),v=new oe(g),v.scheduler=a?()=>a(w,!1):w,_=e=>function(e,t=!1,n=Vt){if(n){let t=Rt.get(n);t||Rt.set(n,t=[]),t.push(e)}}(e,!1,v),m=v.onStop=()=>{const e=Rt.get(v);if(e){if(p)p(e,4);else for(const t of e)t();Rt.delete(v)}},n?o?w(!0):C=v.run():a?a(w.bind(null,!0),!0):v.run(),S.pause=v.pause.bind(v),S.resume=v.resume.bind(v),S.stop=S,S}function Nt(e,t=1/0,n){if(t<=0||!m(e)||e.__v_skip)return e;if((n=n||new Set).has(e))return e;if(n.add(e),t--,bt(e))Nt(e.value,t,n);else if(f(e))for(let s=0;s{Nt(e,t,n)}));else if(S(e)){for(const s in e)Nt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Nt(e[s],t,n)}return e} -/** -* @vue/runtime-core v3.5.17 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ut(e,t,n,s){try{return s?e(...s):e()}catch(r){Wt(r,t,n)}}function Bt(e,t,n,s){if(h(e)){const r=Ut(e,t,n,s);return r&&_(r)&&r.catch((e=>{Wt(e,t,n)})),r}if(f(e)){const r=[];for(let o=0;o=nn(n)?Ht.push(e):Ht.splice(function(e){let t=Kt+1,n=Ht.length;for(;t>>1,r=Ht[s],o=nn(r);onn(e)-nn(t)));if(zt.length=0,qt)return void qt.push(...e);for(qt=e,Gt=0;Gtnull==e.id?2&e.flags?-1:1/0:e.id;function sn(e){try{for(Kt=0;Kt{s._d&&Mr(-1);const r=ln(t);let o;try{o=e(...n)}finally{ln(r),s._d&&Mr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function an(e,n){if(null===rn)return e;const s=ao(rn),r=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,dn=e=>e&&(e.disabled||""===e.disabled),hn=e=>e&&(e.defer||""===e.defer),vn=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,gn=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,mn=(e,t)=>{const n=e&&e.to;if(v(n)){if(t){return t(n)}return null}return n},_n={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,a){const{mc:u,pc:f,pbc:p,o:{insert:d,querySelector:h,createText:v,createComment:g}}=a,m=dn(t.props);let{shapeFlag:_,children:y,dynamicChildren:b}=t;if(null==e){const e=t.el=v(""),a=t.anchor=v("");d(e,n,s),d(a,n,s);const f=(e,t)=>{16&_&&(r&&r.isCE&&(r.ce._teleportTarget=e),u(y,e,t,r,o,i,l,c))},p=()=>{const e=t.target=mn(t.props,h),n=Sn(e,t,v,d);e&&("svg"!==i&&vn(e)?i="svg":"mathml"!==i&&gn(e)&&(i="mathml"),m||(f(e,n),xn(t,!1)))};m&&(f(n,a),xn(t,!0)),hn(t.props)?(t.el.__isMounted=!1,er((()=>{p(),delete t.el.__isMounted}),o)):p()}else{if(hn(t.props)&&!1===e.el.__isMounted)return void er((()=>{_n.process(e,t,n,s,r,o,i,l,c,a)}),o);t.el=e.el,t.targetStart=e.targetStart;const u=t.anchor=e.anchor,d=t.target=e.target,v=t.targetAnchor=e.targetAnchor,g=dn(e.props),_=g?n:d,y=g?u:v;if("svg"===i||vn(d)?i="svg":("mathml"===i||gn(d))&&(i="mathml"),b?(p(e.dynamicChildren,b,_,r,o,i,l),rr(e,t,!0)):c||f(e,t,_,y,r,o,i,l,!1),m)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yn(t,n,u,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=mn(t.props,h);e&&yn(t,e,null,a,0)}else g&&yn(t,d,v,a,1);xn(t,m)}},remove(e,t,n,{um:s,o:{remove:r}},o){const{shapeFlag:i,children:l,anchor:c,targetStart:a,targetAnchor:u,target:f,props:p}=e;if(f&&(r(a),r(u)),o&&r(c),16&i){const e=o||!dn(p);for(let r=0;r{const t=e.subTree;return t.component?En(t.component):t};function Tn(e){let t=e[0];if(e.length>1)for(const n of e)if(n.type!==kr){t=n;break}return t}const On={name:"BaseTransition",props:An,setup(e,{slots:t}){const n=Qr(),s=function(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return qn((()=>{e.isMounted=!0})),Zn((()=>{e.isUnmounting=!0})),e}();return()=>{const r=t.default&&$n(t.default(),!0);if(!r||!r.length)return;const o=Tn(r),i=gt(e),{mode:l}=i;if(s.isLeaving)return Ln(o);const c=jn(o);if(!c)return Ln(o);let a=Mn(c,i,s,n,(e=>a=e));c.type!==kr&&Pn(c,a);let u=n.subTree&&jn(n.subTree);if(u&&u.type!==kr&&!Dr(c,u)&&En(n).type!==kr){let e=Mn(u,i,s,n);if(Pn(u,e),"out-in"===l&&c.type!==kr)return s.isLeaving=!0,e.afterLeave=()=>{s.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,u=void 0},Ln(o);"in-out"===l&&c.type!==kr?e.delayLeave=(e,t,n)=>{Fn(s,u)[String(u.key)]=u,e[Cn]=()=>{t(),e[Cn]=void 0,delete a.delayedLeave,u=void 0},a.delayedLeave=()=>{n(),delete a.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function Fn(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Mn(e,t,n,s,r){const{appear:o,mode:i,persisted:l=!1,onBeforeEnter:c,onEnter:a,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:d,onLeave:h,onAfterLeave:v,onLeaveCancelled:g,onBeforeAppear:m,onAppear:_,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=Fn(n,e),C=(e,t)=>{e&&Bt(e,s,9,t)},w=(e,t)=>{const n=t[1];C(e,t),f(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},k={mode:i,persisted:l,beforeEnter(t){let s=c;if(!n.isMounted){if(!o)return;s=m||c}t[Cn]&&t[Cn](!0);const r=S[x];r&&Dr(e,r)&&r.el[Cn]&&r.el[Cn](),C(s,[t])},enter(e){let t=a,s=u,r=p;if(!n.isMounted){if(!o)return;t=_||a,s=y||u,r=b||p}let i=!1;const l=e[wn]=t=>{i||(i=!0,C(t?r:s,[e]),k.delayedLeave&&k.delayedLeave(),e[wn]=void 0)};t?w(t,[e,l]):l()},leave(t,s){const r=String(e.key);if(t[wn]&&t[wn](!0),n.isUnmounting)return s();C(d,[t]);let o=!1;const i=t[Cn]=n=>{o||(o=!0,s(),C(n?g:v,[t]),t[Cn]=void 0,S[r]===e&&delete S[r])};S[r]=e,h?w(h,[t,i]):i()},clone(e){const o=Mn(e,t,n,s,r);return r&&r(o),o}};return k}function Ln(e){if(In(e))return(e=Ur(e)).children=null,e}function jn(e){if(!In(e))return pn(e.type)&&e.children?Tn(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&h(n.default))return n.default()}}function Pn(e,t){6&e.shapeFlag&&e.component?(e.transition=t,Pn(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function $n(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;oRn(e,n&&(f(n)?n[t]:n),s,r,o)));if(Vn(r)&&!o)return void(512&r.shapeFlag&&r.type.__asyncResolved&&r.component.subTree.component&&Rn(e,n,s,r.component.subTree));const i=4&r.shapeFlag?ao(r.component):r.el,l=o?null:i,{i:a,r:p}=e,d=n&&n.r,g=a.refs===t?a.refs={}:a.refs,m=a.setupState,_=gt(m),y=m===t?()=>!1:e=>u(_,e);if(null!=d&&d!==p&&(v(d)?(g[d]=null,y(d)&&(m[d]=null)):bt(d)&&(d.value=null)),h(p))Ut(p,a,12,[l,g]);else{const t=v(p),n=bt(p);if(t||n){const r=()=>{if(e.f){const n=t?y(p)?m[p]:g[p]:p.value;o?f(n)&&c(n,i):f(n)?n.includes(i)||n.push(i):t?(g[p]=[i],y(p)&&(m[p]=g[p])):(p.value=[i],e.k&&(g[e.k]=p.value))}else t?(g[p]=l,y(p)&&(m[p]=l)):n&&(p.value=l,e.k&&(g[e.k]=l))};l?(r.id=-1,er(r,s)):r()}}}V().requestIdleCallback,V().cancelIdleCallback;const Vn=e=>!!e.type.__asyncLoader,In=e=>e.type.__isKeepAlive;function Nn(e,t){Bn(e,"a",t)}function Un(e,t){Bn(e,"da",t)}function Bn(e,t,n=Xr){const s=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Hn(t,s,n),n){let e=n.parent;for(;e&&e.parent;)In(e.parent.vnode)&&Wn(s,t,n,e),e=e.parent}}function Wn(e,t,n,s){const r=Hn(t,e,s,!0);Xn((()=>{c(s[t],r)}),n)}function Hn(e,t,n=Xr,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{be();const r=to(n),o=Bt(t,n,e,s);return r(),xe(),o});return s?r.unshift(o):r.push(o),o}}const Kn=e=>(t,n=Xr)=>{oo&&"sp"!==e||Hn(e,((...e)=>t(...e)),n)},zn=Kn("bm"),qn=Kn("m"),Gn=Kn("bu"),Jn=Kn("u"),Zn=Kn("bum"),Xn=Kn("um"),Qn=Kn("sp"),Yn=Kn("rtg"),es=Kn("rtc");function ts(e,t=Xr){Hn("ec",e,t)}const ns="components";function ss(e,t){return ls(ns,e,!0,t)||e}const rs=Symbol.for("v-ndc");function os(e){return v(e)?ls(ns,e,!1)||e:e||rs}function is(e){return ls("directives",e)}function ls(e,t,n=!0,s=!1){const r=rn||Xr;if(r){const n=r.type;if(e===ns){const e=uo(n,!1);if(e&&(e===t||e===E(t)||e===F(E(t))))return n}const o=cs(r[e]||n[e],t)||cs(r.appContext[e],t);return!o&&s?n:o}}function cs(e,t){return e&&(e[t]||e[E(t)]||e[F(E(t))])}function as(e,t,n,s){let r;const o=n,i=f(e);if(i||v(e)){let n=!1,s=!1;i&&pt(e)&&(n=!ht(e),s=dt(e),e=Pe(e)),r=new Array(e.length);for(let i=0,l=e.length;it(e,n,void 0,o)));else{const n=Object.keys(e);r=new Array(n.length);for(let s=0,i=n.length;s{const t=s.fn(...e);return t&&(t.key=s.key),t}:s.fn)}return e}function fs(e,t,n={},s,r){if(rn.ce||rn.parent&&Vn(rn.parent)&&rn.parent.ce)return"default"!==t&&(n.name=t),Or(),Pr(Cr,null,[Nr("slot",n,s&&s())],64);let o=e[t];o&&o._c&&(o._d=!1),Or();const i=o&&ps(o(n)),l=n.key||i&&i.key,c=Pr(Cr,{key:(l&&!g(l)?l:`_${t}`)+(!i&&s?"_fb":"")},i||(s?s():[]),i&&1===e._?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function ps(e){return e.some((e=>!$r(e)||e.type!==kr&&!(e.type===Cr&&!ps(e.children))))?e:null}const ds=e=>e?so(e)?ao(e):ds(e.parent):null,hs=l(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ds(e.parent),$root:e=>ds(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Cs(e),$forceUpdate:e=>e.f||(e.f=()=>{Qt(e.update)}),$nextTick:e=>e.n||(e.n=Xt.bind(e.proxy)),$watch:e=>fr.bind(e)}),vs=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),gs={get({_:e},n){if("__v_skip"===n)return!0;const{ctx:s,setupState:r,data:o,props:i,accessCache:l,type:c,appContext:a}=e;let f;if("$"!==n[0]){const c=l[n];if(void 0!==c)switch(c){case 1:return r[n];case 2:return o[n];case 4:return s[n];case 3:return i[n]}else{if(vs(r,n))return l[n]=1,r[n];if(o!==t&&u(o,n))return l[n]=2,o[n];if((f=e.propsOptions[0])&&u(f,n))return l[n]=3,i[n];if(s!==t&&u(s,n))return l[n]=4,s[n];ys&&(l[n]=0)}}const p=hs[n];let d,h;return p?("$attrs"===n&&Me(e.attrs,0,""),p(e)):(d=c.__cssModules)&&(d=d[n])?d:s!==t&&u(s,n)?(l[n]=4,s[n]):(h=a.config.globalProperties,u(h,n)?h[n]:void 0)},set({_:e},n,s){const{data:r,setupState:o,ctx:i}=e;return vs(o,n)?(o[n]=s,!0):r!==t&&u(r,n)?(r[n]=s,!0):!u(e.props,n)&&(("$"!==n[0]||!(n.slice(1)in e))&&(i[n]=s,!0))},has({_:{data:e,setupState:n,accessCache:s,ctx:r,appContext:o,propsOptions:i}},l){let c;return!!s[l]||e!==t&&u(e,l)||vs(n,l)||(c=i[0])&&u(c,l)||u(r,l)||u(hs,l)||u(o.config.globalProperties,l)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:u(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ms(e){return f(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}function _s(e,t){return e&&t?f(e)&&f(t)?e.concat(t):l({},ms(e),ms(t)):e||t}let ys=!0;function bs(e){const t=Cs(e),n=e.proxy,r=e.ctx;ys=!1,t.beforeCreate&&xs(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:l,watch:c,provide:a,inject:u,created:p,beforeMount:d,mounted:v,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:k,renderTracked:A,renderTriggered:E,errorCaptured:T,serverPrefetch:O,expose:F,inheritAttrs:M,components:L,directives:j,filters:P}=t;if(u&&function(e,t){f(e)&&(e=Es(e));for(const n in e){const s=e[n];let r;r=m(s)?"default"in s?$s(s.from||n,s.default,!0):$s(s.from||n):$s(s),bt(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,r,null),l)for(const s in l){const e=l[s];h(e)&&(r[s]=e.bind(n))}if(o){const t=o.call(n,n);m(t)&&(e.data=at(t))}if(ys=!0,i)for(const f in i){const e=i[f],t=h(e)?e.bind(n,n):h(e.get)?e.get.bind(n,n):s,o=!h(e)&&h(e.set)?e.set.bind(n):s,l=fo({get:t,set:o});Object.defineProperty(r,f,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e})}if(c)for(const s in c)Ss(c[s],r,n,s);if(a){const e=h(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{!function(e,t){if(Xr){let n=Xr.provides;const s=Xr.parent&&Xr.parent.provides;s===n&&(n=Xr.provides=Object.create(s)),n[e]=t}else;}(t,e[t])}))}function $(e,t){f(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&xs(p,e,"c"),$(zn,d),$(qn,v),$(Gn,g),$(Jn,_),$(Nn,y),$(Un,b),$(ts,T),$(es,A),$(Yn,E),$(Zn,S),$(Xn,w),$(Qn,O),f(F))if(F.length){const t=e.exposed||(e.exposed={});F.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===s&&(e.render=k),null!=M&&(e.inheritAttrs=M),L&&(e.components=L),j&&(e.directives=j),O&&Dn(e)}function xs(e,t,n){Bt(f(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ss(e,t,n,s){let r=s.includes(".")?pr(n,s):()=>n[s];if(v(e)){const n=t[e];h(n)&&ar(r,n)}else if(h(e))ar(r,e.bind(n));else if(m(e))if(f(e))e.forEach((e=>Ss(e,t,n,s)));else{const s=h(e.handler)?e.handler.bind(n):t[e.handler];h(s)&&ar(r,s,e)}}function Cs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:r.length||n||s?(c={},r.length&&r.forEach((e=>ws(c,e,i,!0))),ws(c,t,i)):c=t,m(t)&&o.set(t,c),c}function ws(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&ws(e,o,n,!0),r&&r.forEach((t=>ws(e,t,n,!0)));for(const i in t)if(s&&"expose"===i);else{const s=ks[i]||n&&n[i];e[i]=s?s(e[i],t[i]):t[i]}return e}const ks={data:As,props:Fs,emits:Fs,methods:Os,computed:Os,beforeCreate:Ts,created:Ts,beforeMount:Ts,mounted:Ts,beforeUpdate:Ts,updated:Ts,beforeDestroy:Ts,beforeUnmount:Ts,destroyed:Ts,unmounted:Ts,activated:Ts,deactivated:Ts,errorCaptured:Ts,serverPrefetch:Ts,components:Os,directives:Os,watch:function(e,t){if(!e)return t;if(!t)return e;const n=l(Object.create(null),e);for(const s in t)n[s]=Ts(e[s],t[s]);return n},provide:As,inject:function(e,t){return Os(Es(e),Es(t))}};function As(e,t){return t?e?function(){return l(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Es(e){if(f(e)){const t={};for(let n=0;n(o.has(e)||(e&&h(e.install)?(o.add(e),e.install(a,...t)):h(e)&&(o.add(e),e(a,...t))),a),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),a),component:(e,t)=>t?(r.components[e]=t,a):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,a):r.directives[e],mount(o,i,l){if(!c){const u=a._ceVNode||Nr(n,s);return u.appContext=r,!0===l?l="svg":!1===l&&(l=void 0),i&&t?t(u,o):e(u,o,l),c=!0,a._container=o,o.__vue_app__=a,ao(u.component)}},onUnmount(e){i.push(e)},unmount(){c&&(Bt(i,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,a),runWithContext(e){const t=Ps;Ps=a;try{return e()}finally{Ps=t}}};return a}}let Ps=null;function $s(e,t,n=!1){const s=Xr||rn;if(s||Ps){let r=Ps?Ps._context.provides:s?null==s.parent||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&h(t)?t.call(s&&s.proxy):t}}function Ds(){return!!(Xr||rn||Ps)}const Rs={},Vs=()=>Object.create(Rs),Is=e=>Object.getPrototypeOf(e)===Rs;function Ns(e,t,n,s=!1){const r={},o=Vs();e.propsDefaults=Object.create(null),Us(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:ft(r,!1,Ze,st,it):e.type.props?e.props=r:e.props=o,e.attrs=o}function Us(e,n,s,r){const[o,i]=e.propsOptions;let l,c=!1;if(n)for(let t in n){if(w(t))continue;const a=n[t];let f;o&&u(o,f=E(t))?i&&i.includes(f)?(l||(l={}))[f]=a:s[f]=a:mr(e.emitsOptions,t)||t in r&&a===r[t]||(r[t]=a,c=!0)}if(i){const n=gt(s),r=l||t;for(let t=0;t{d=!0;const[t,n]=Hs(e,s,!0);l(a,t),n&&p.push(...n)};!r&&s.mixins.length&&s.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!d)return m(e)&&o.set(e,n),n;if(f(c))for(let n=0;n"_"===e[0]||"$stable"===e,qs=e=>f(e)?e.map(Hr):[Hr(e)],Gs=(e,t,n)=>{if(t._n)return t;const s=cn(((...e)=>qs(t(...e))),n);return s._c=!1,s},Js=(e,t,n)=>{const s=e._ctx;for(const r in e){if(zs(r))continue;const n=e[r];if(h(n))t[r]=Gs(0,n,s);else if(null!=n){const e=qs(n);t[r]=()=>e}}},Zs=(e,t)=>{const n=qs(t);e.slots.default=()=>n},Xs=(e,t,n)=>{for(const s in t)!n&&zs(s)||(e[s]=t[s])},Qs=(e,t,n)=>{const s=e.slots=Vs();if(32&e.vnode.shapeFlag){const e=t.__;e&&P(s,"__",e,!0);const r=t._;r?(Xs(s,t,n),n&&P(s,"_",r,!0)):Js(t,s)}else t&&Zs(e,t)},Ys=(e,n,s)=>{const{vnode:r,slots:o}=e;let i=!0,l=t;if(32&r.shapeFlag){const e=n._;e?s&&1===e?i=!1:Xs(o,n,s):(i=!n.$stable,Js(n,o)),l=n}else n&&(Zs(e,n),l={default:1});if(i)for(const t in o)zs(t)||null!=l[t]||delete o[t]},er=function(e,t){t&&t.pendingBranch?f(e)?t.effects.push(...e):t.effects.push(e):(f(n=e)?zt.push(...n):qt&&-1===n.id?qt.splice(Gt+1,0,n):1&n.flags||(zt.push(n),n.flags|=1),Yt());var n};function tr(e){return function(e){V().__VUE__=!0;const{insert:r,remove:o,patchProp:i,createElement:l,createText:c,createComment:a,setText:p,setElementText:d,parentNode:h,nextSibling:v,setScopeId:g=s,insertStaticContent:m}=e,y=(e,t,n,s=null,r=null,o=null,i=void 0,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Dr(e,t)&&(s=Q(e),q(e,r,o,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:f}=t;switch(a){case wr:b(e,t,n,s);break;case kr:x(e,t,n,s);break;case Ar:null==e&&S(t,n,s,i);break;case Cr:D(e,t,n,s,r,o,i,l,c);break;default:1&f?A(e,t,n,s,r,o,i,l,c):6&f?R(e,t,n,s,r,o,i,l,c):(64&f||128&f)&&a.process(e,t,n,s,r,o,i,l,c,ne)}null!=u&&r?Rn(u,e&&e.ref,o,t||e,!t):null==u&&e&&null!=e.ref&&Rn(e.ref,null,o,e,!0)},b=(e,t,n,s)=>{if(null==e)r(t.el=c(t.children),n,s);else{const n=t.el=e.el;t.children!==e.children&&p(n,t.children)}},x=(e,t,n,s)=>{null==e?r(t.el=a(t.children||""),n,s):t.el=e.el},S=(e,t,n,s)=>{[e.el,e.anchor]=m(e.children,t,n,s,e.el,e.anchor)},C=({el:e,anchor:t},n,s)=>{let o;for(;e&&e!==t;)o=v(e),r(e,n,s),e=o;r(t,n,s)},k=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=v(e),o(e),e=n;o(t)},A=(e,t,n,s,r,o,i,l,c)=>{"svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e?T(t,n,s,r,o,i,l,c):L(e,t,r,o,i,l,c)},T=(e,t,n,s,o,c,a,u)=>{let f,p;const{props:h,shapeFlag:v,transition:g,dirs:m}=e;if(f=e.el=l(e.type,c,h&&h.is,h),8&v?d(f,e.children):16&v&&M(e.children,f,null,s,o,nr(e,c),a,u),m&&un(e,null,s,"created"),F(f,e,e.scopeId,a,s),h){for(const e in h)"value"===e||w(e)||i(f,e,null,h[e],c,s);"value"in h&&i(f,"value",null,h.value,c),(p=h.onVnodeBeforeMount)&&Gr(p,s,e)}m&&un(e,null,s,"beforeMount");const _=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(o,g);_&&g.beforeEnter(f),r(f,t,n),((p=h&&h.onVnodeMounted)||_||m)&&er((()=>{p&&Gr(p,s,e),_&&g.enter(f),m&&un(e,null,s,"mounted")}),o)},F=(e,t,n,s,r)=>{if(n&&g(e,n),s)for(let o=0;o{for(let a=c;a{const a=n.el=e.el;let{patchFlag:u,dynamicChildren:f,dirs:p}=n;u|=16&e.patchFlag;const h=e.props||t,v=n.props||t;let g;if(s&&sr(s,!1),(g=v.onVnodeBeforeUpdate)&&Gr(g,s,n,e),p&&un(n,e,s,"beforeUpdate"),s&&sr(s,!0),(h.innerHTML&&null==v.innerHTML||h.textContent&&null==v.textContent)&&d(a,""),f?P(e.dynamicChildren,f,a,s,r,nr(n,o),l):c||W(e,n,a,null,s,r,nr(n,o),l,!1),u>0){if(16&u)$(a,h,v,s,o);else if(2&u&&h.class!==v.class&&i(a,"class",null,v.class,o),4&u&&i(a,"style",h.style,v.style,o),8&u){const e=n.dynamicProps;for(let t=0;t{g&&Gr(g,s,n,e),p&&un(n,e,s,"updated")}),r)},P=(e,t,n,s,r,o,i)=>{for(let l=0;l{if(n!==s){if(n!==t)for(const t in n)w(t)||t in s||i(e,t,n[t],null,o,r);for(const t in s){if(w(t))continue;const l=s[t],c=n[t];l!==c&&"value"!==t&&i(e,t,c,l,o,r)}"value"in s&&i(e,"value",n.value,s.value,o)}},D=(e,t,n,s,o,i,l,a,u)=>{const f=t.el=e?e.el:c(""),p=t.anchor=e?e.anchor:c("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=t;v&&(a=a?a.concat(v):v),null==e?(r(f,n,s),r(p,n,s),M(t.children||[],n,p,o,i,l,a,u)):d>0&&64&d&&h&&e.dynamicChildren?(P(e.dynamicChildren,h,n,o,i,l,a),(null!=t.key||o&&t===o.subTree)&&rr(e,t,!0)):W(e,t,n,p,o,i,l,a,u)},R=(e,t,n,s,r,o,i,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?r.ctx.activate(t,n,s,i,c):I(t,n,s,r,o,i,c):N(e,t,c)},I=(e,n,s,r,o,i,l)=>{const c=e.component=function(e,n,s){const r=e.type,o=(n?n.appContext:e.appContext)||Jr,i={uid:Zr++,vnode:e,type:r,parent:n,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ee(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(o.provides),ids:n?n.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Hs(r,o),emitsOptions:gr(r,o),emit:null,emitted:null,propsDefaults:t,inheritAttrs:r.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};i.ctx={_:i},i.root=n?n.root:i,i.emit=vr.bind(null,i),e.ce&&e.ce(i);return i}(e,r,o);if(In(e)&&(c.ctx.renderer=ne),function(e,t=!1,n=!1){t&&eo(t);const{props:s,children:r}=e.vnode,o=so(e);Ns(e,s,o,t),Qs(e,r,n||t);const i=o?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,gs);const{setup:s}=n;if(s){be();const n=e.setupContext=s.length>1?function(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,co),slots:e.slots,emit:e.emit,expose:t}}(e):null,r=to(e),o=Ut(s,e,0,[e.props,n]),i=_(o);if(xe(),r(),!i&&!e.sp||Vn(e)||Dn(e),i){if(o.then(no,no),t)return o.then((n=>{io(e,n,t)})).catch((t=>{Wt(t,e,0)}));e.asyncDep=o}else io(e,o,t)}else lo(e,t)}(e,t):void 0;t&&eo(!1)}(c,!1,l),c.asyncDep){if(o&&o.registerDep(c,U,l),!e.el){const e=c.subTree=Nr(kr);x(null,e,n,s)}}else U(c,e,n,s,o,i,l)},N=(e,t,n)=>{const s=t.component=e.component;if(function(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!r&&!l||l&&l.$stable)||s!==i&&(s?!i||xr(s,i,a):!!i);if(1024&c)return!0;if(16&c)return s?xr(s,i,a):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;t{const l=()=>{if(e.isMounted){let{next:t,bu:n,u:s,parent:c,vnode:a}=e;{const n=or(e);if(n)return t&&(t.el=a.el,B(e,t,i)),void n.asyncDep.then((()=>{e.isUnmounted||l()}))}let u,f=t;sr(e,!1),t?(t.el=a.el,B(e,t,i)):t=a,n&&j(n),(u=t.props&&t.props.onVnodeBeforeUpdate)&&Gr(u,c,t,a),sr(e,!0);const p=_r(e),d=e.subTree;e.subTree=p,y(d,p,h(d.el),Q(d),e,r,o),t.el=p.el,null===f&&function({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s!==e)break;(e=t.vnode).el=n,t=t.parent}}(e,p.el),s&&er(s,r),(u=t.props&&t.props.onVnodeUpdated)&&er((()=>Gr(u,c,t,a)),r)}else{let i;const{el:l,props:c}=t,{bm:a,m:u,parent:f,root:p,type:d}=e,h=Vn(t);if(sr(e,!1),a&&j(a),!h&&(i=c&&c.onVnodeBeforeMount)&&Gr(i,f,t),sr(e,!0),l&&re){const t=()=>{e.subTree=_r(e),re(l,e.subTree,e,r,null)};h&&d.__asyncHydrate?d.__asyncHydrate(l,e,t):t()}else{p.ce&&!1!==p.ce._def.shadowRoot&&p.ce._injectChildStyle(d);const i=e.subTree=_r(e);y(null,i,n,s,e,r,o),t.el=i.el}if(u&&er(u,r),!h&&(i=c&&c.onVnodeMounted)){const e=t;er((()=>Gr(i,f,e)),r)}(256&t.shapeFlag||f&&Vn(f.vnode)&&256&f.vnode.shapeFlag)&&e.a&&er(e.a,r),e.isMounted=!0,t=n=s=null}};e.scope.on();const c=e.effect=new oe(l);e.scope.off();const a=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Qt(u),sr(e,!0),a()},B=(e,t,n)=>{t.component=e;const s=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=gt(r),[c]=e.propsOptions;let a=!1;if(!(s||i>0)||16&i){let s;Us(e,t,r,o)&&(a=!0);for(const o in l)t&&(u(t,o)||(s=O(o))!==o&&u(t,s))||(c?!n||void 0===n[o]&&void 0===n[s]||(r[o]=Bs(c,l,o,void 0,e,!0)):delete r[o]);if(o!==l)for(const e in o)t&&u(t,e)||(delete o[e],a=!0)}else if(8&i){const n=e.vnode.dynamicProps;for(let s=0;s{const a=e&&e.children,u=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void K(a,f,n,s,r,o,i,l,c);if(256&p)return void H(a,f,n,s,r,o,i,l,c)}8&h?(16&u&&X(a,r,o),f!==a&&d(n,f)):16&u?16&h?K(a,f,n,s,r,o,i,l,c):X(a,r,o,!0):(8&u&&d(n,""),16&h&&M(f,n,s,r,o,i,l,c))},H=(e,t,s,r,o,i,l,c,a)=>{t=t||n;const u=(e=e||n).length,f=t.length,p=Math.min(u,f);let d;for(d=0;df?X(e,o,i,!0,!1,p):M(t,s,r,o,i,l,c,a,p)},K=(e,t,s,r,o,i,l,c,a)=>{let u=0;const f=t.length;let p=e.length-1,d=f-1;for(;u<=p&&u<=d;){const n=e[u],r=t[u]=a?Kr(t[u]):Hr(t[u]);if(!Dr(n,r))break;y(n,r,s,null,o,i,l,c,a),u++}for(;u<=p&&u<=d;){const n=e[p],r=t[d]=a?Kr(t[d]):Hr(t[d]);if(!Dr(n,r))break;y(n,r,s,null,o,i,l,c,a),p--,d--}if(u>p){if(u<=d){const e=d+1,n=ed)for(;u<=p;)q(e[u],o,i,!0),u++;else{const h=u,v=u,g=new Map;for(u=v;u<=d;u++){const e=t[u]=a?Kr(t[u]):Hr(t[u]);null!=e.key&&g.set(e.key,u)}let m,_=0;const b=d-v+1;let x=!1,S=0;const C=new Array(b);for(u=0;u=b){q(n,o,i,!0);continue}let r;if(null!=n.key)r=g.get(n.key);else for(m=v;m<=d;m++)if(0===C[m-v]&&Dr(n,t[m])){r=m;break}void 0===r?q(n,o,i,!0):(C[r-v]=u+1,r>=S?S=r:x=!0,y(n,t[r],s,null,o,i,l,c,a),_++)}const w=x?function(e){const t=e.slice(),n=[0];let s,r,o,i,l;const c=e.length;for(s=0;s>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}o=n.length,i=n[o-1];for(;o-- >0;)n[o]=i,i=t[i];return n}(C):n;for(m=w.length-1,u=b-1;u>=0;u--){const e=v+u,n=t[e],p=e+1{const{el:l,type:c,transition:a,children:u,shapeFlag:f}=e;if(6&f)return void z(e.component.subTree,t,n,s);if(128&f)return void e.suspense.move(t,n,s);if(64&f)return void c.move(e,t,n,ne);if(c===Cr){r(l,t,n);for(let e=0;ea.enter(l)),i);else{const{leave:s,delayLeave:i,afterLeave:c}=a,u=()=>{e.ctx.isUnmounted?o(l):r(l,t,n)},f=()=>{s(l,(()=>{u(),c&&c()}))};i?i(l,u,f):f()}else r(l,t,n)},q=(e,t,n,s=!1,r=!1)=>{const{type:o,props:i,ref:l,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:f,dirs:p,cacheIndex:d}=e;if(-2===f&&(r=!1),null!=l&&(be(),Rn(l,null,n,e,!0),xe()),null!=d&&(t.renderCache[d]=void 0),256&u)return void t.ctx.deactivate(e);const h=1&u&&p,v=!Vn(e);let g;if(v&&(g=i&&i.onVnodeBeforeUnmount)&&Gr(g,t,e),6&u)Z(e.component,n,s);else{if(128&u)return void e.suspense.unmount(n,s);h&&un(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,ne,s):a&&!a.hasOnce&&(o!==Cr||f>0&&64&f)?X(a,t,n,!1,!0):(o===Cr&&384&f||!r&&16&u)&&X(c,t,n),s&&G(e)}(v&&(g=i&&i.onVnodeUnmounted)||h)&&er((()=>{g&&Gr(g,t,e),h&&un(e,null,t,"unmounted")}),n)},G=e=>{const{type:t,el:n,anchor:s,transition:r}=e;if(t===Cr)return void J(n,s);if(t===Ar)return void k(e);const i=()=>{o(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:s}=r,o=()=>t(n,i);s?s(e.el,i,o):o()}else i()},J=(e,t)=>{let n;for(;e!==t;)n=v(e),o(e),e=n;o(t)},Z=(e,t,n)=>{const{bum:s,scope:r,job:o,subTree:i,um:l,m:c,a:a,parent:u,slots:{__:p}}=e;ir(c),ir(a),s&&j(s),u&&f(p)&&p.forEach((e=>{u.renderCache[e]=void 0})),r.stop(),o&&(o.flags|=8,q(i,e,t,n)),l&&er(l,t),er((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},X=(e,t,n,s=!1,r=!1,o=0)=>{for(let i=o;i{if(6&e.shapeFlag)return Q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=v(e.anchor||e.el),n=t&&t[fn];return n?v(n):t};let Y=!1;const te=(e,t,n)=>{null==e?t._vnode&&q(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),t._vnode=e,Y||(Y=!0,en(),tn(),Y=!1)},ne={p:y,um:q,m:z,r:G,mt:I,mc:M,pc:W,pbc:P,n:Q,o:e};let se,re;return{render:te,hydrate:se,createApp:js(te,se)}}(e)}function nr({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function sr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function rr(e,t,n=!1){const s=e.children,r=t.children;if(f(s)&&f(r))for(let o=0;o$s(lr);function ar(e,t,n){return ur(e,t,n)}function ur(e,n,r=t){const{immediate:o,deep:i,flush:c,once:a}=r,u=l({},r),f=n&&o||!n&&"post"!==c;let p;if(oo)if("sync"===c){const e=cr();p=e.__watcherHandles||(e.__watcherHandles=[])}else if(!f){const e=()=>{};return e.stop=s,e.resume=s,e.pause=s,e}const d=Xr;u.call=(e,t,n)=>Bt(e,d,t,n);let h=!1;"post"===c?u.scheduler=e=>{er(e,d&&d.suspense)}:"sync"!==c&&(h=!0,u.scheduler=(e,t)=>{t?e():Qt(e)}),u.augmentJob=e=>{n&&(e.flags|=4),h&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const v=It(e,n,u);return oo&&(p?p.push(v):f&&v()),v}function fr(e,t,n){const s=this.proxy,r=v(e)?e.includes(".")?pr(s,e):()=>s[e]:e.bind(s,s);let o;h(t)?o=t:(o=t.handler,n=t);const i=to(this),l=ur(r,o.bind(s),n);return i(),l}function pr(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let a,u,f=t;return ur((()=>{const t=e[o];L(a,t)&&(a=t,c())}),null,{flush:"sync"}),{get:()=>(l(),s.get?s.get(a):a),set(e){const l=s.set?s.set(e):e;if(!(L(l,a)||f!==t&&L(e,f)))return;const p=r.vnode.props;p&&(n in p||o in p||i in p)&&(`onUpdate:${n}`in p||`onUpdate:${o}`in p||`onUpdate:${i}`in p)||(a=e,c()),r.emit(`update:${n}`,l),L(e,l)&&L(e,f)&&!L(l,u)&&c(),f=e,u=l}}}));return c[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?l||t:c,done:!1}:{done:!0}}},c}const hr=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${E(t)}Modifiers`]||e[`${O(t)}Modifiers`];function vr(e,n,...s){if(e.isUnmounted)return;const r=e.vnode.props||t;let o=s;const i=n.startsWith("update:"),l=i&&hr(r,n.slice(7));let c;l&&(l.trim&&(o=s.map((e=>v(e)?e.trim():e))),l.number&&(o=s.map($)));let a=r[c=M(n)]||r[c=M(E(n))];!a&&i&&(a=r[c=M(O(n))]),a&&Bt(a,e,6,o);const u=r[c+"Once"];if(u){if(e.emitted){if(e.emitted[c])return}else e.emitted={};e.emitted[c]=!0,Bt(u,e,6,o)}}function gr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(void 0!==r)return r;const o=e.emits;let i={},c=!1;if(!h(e)){const s=e=>{const n=gr(e,t,!0);n&&(c=!0,l(i,n))};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}return o||c?(f(o)?o.forEach((e=>i[e]=null)):l(i,o),m(e)&&s.set(e,i),i):(m(e)&&s.set(e,null),null)}function mr(e,t){return!(!e||!o(t))&&(t=t.slice(2).replace(/Once$/,""),u(e,t[0].toLowerCase()+t.slice(1))||u(e,O(t))||u(e,t))}function _r(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:l,attrs:c,emit:a,render:u,renderCache:f,props:p,data:d,setupState:h,ctx:v,inheritAttrs:g}=e,m=ln(e);let _,y;try{if(4&n.shapeFlag){const e=r||s,t=e;_=Hr(u.call(t,e,f,p,h,d,v)),y=c}else{const e=t;0,_=Hr(e.length>1?e(p,{attrs:c,slots:l,emit:a}):e(p,null)),y=t.props?c:yr(c)}}catch(x){Er.length=0,Wt(x,e,1),_=Nr(kr)}let b=_;if(y&&!1!==g){const e=Object.keys(y),{shapeFlag:t}=b;e.length&&7&t&&(o&&e.some(i)&&(y=br(y,o)),b=Ur(b,y,!1,!0))}return n.dirs&&(b=Ur(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Pn(b,n.transition),_=b,ln(m),_}const yr=e=>{let t;for(const n in e)("class"===n||"style"===n||o(n))&&((t||(t={}))[n]=e[n]);return t},br=(e,t)=>{const n={};for(const s in e)i(s)&&s.slice(9)in t||(n[s]=e[s]);return n};function xr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;const Cr=Symbol.for("v-fgt"),wr=Symbol.for("v-txt"),kr=Symbol.for("v-cmt"),Ar=Symbol.for("v-stc"),Er=[];let Tr=null;function Or(e=!1){Er.push(Tr=e?null:[])}let Fr=1;function Mr(e,t=!1){Fr+=e,e<0&&Tr&&t&&(Tr.hasOnce=!0)}function Lr(e){return e.dynamicChildren=Fr>0?Tr||n:null,Er.pop(),Tr=Er[Er.length-1]||null,Fr>0&&Tr&&Tr.push(e),e}function jr(e,t,n,s,r,o){return Lr(Ir(e,t,n,s,r,o,!0))}function Pr(e,t,n,s,r){return Lr(Nr(e,t,n,s,r,!0))}function $r(e){return!!e&&!0===e.__v_isVNode}function Dr(e,t){return e.type===t.type&&e.key===t.key}const Rr=({key:e})=>null!=e?e:null,Vr=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?v(e)||bt(e)||h(e)?{i:rn,r:e,k:t,f:!!n}:e:null);function Ir(e,t=null,n=null,s=0,r=null,o=(e===Cr?0:1),i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Rr(t),ref:t&&Vr(t),scopeId:on,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:rn};return l?(zr(c,n),128&o&&e.normalize(c)):n&&(c.shapeFlag|=v(n)?8:16),Fr>0&&!i&&Tr&&(c.patchFlag>0||6&o)&&32!==c.patchFlag&&Tr.push(c),c}const Nr=function(e,t=null,n=null,s=0,r=null,o=!1){e&&e!==rs||(e=kr);if($r(e)){const s=Ur(e,t,!0);return n&&zr(s,n),Fr>0&&!o&&Tr&&(6&s.shapeFlag?Tr[Tr.indexOf(e)]=s:Tr.push(s)),s.patchFlag=-2,s}i=e,h(i)&&"__vccOpts"in i&&(e=e.__vccOpts);var i;if(t){t=function(e){return e?vt(e)||Is(e)?l({},e):e:null}(t);let{class:e,style:n}=t;e&&!v(e)&&(t.class=H(e)),m(n)&&(vt(n)&&!f(n)&&(n=l({},n)),t.style=I(n))}const c=v(e)?1:Sr(e)?128:pn(e)?64:m(e)?4:h(e)?2:0;return Ir(e,t,n,s,r,c,o,!0)};function Ur(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,a=t?qr(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Rr(a),ref:t&&t.ref?n&&o?f(o)?o.concat(Vr(t)):[o,Vr(t)]:Vr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Cr?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ur(e.ssContent),ssFallback:e.ssFallback&&Ur(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Pn(u,c.clone(u)),u}function Br(e=" ",t=0){return Nr(wr,null,e,t)}function Wr(e="",t=!1){return t?(Or(),Pr(kr,null,e)):Nr(kr,null,e)}function Hr(e){return null==e||"boolean"==typeof e?Nr(kr):f(e)?Nr(Cr,null,e.slice()):$r(e)?Kr(e):Nr(wr,null,String(e))}function Kr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Ur(e)}function zr(e,t){let n=0;const{shapeFlag:s}=e;if(null==t)t=null;else if(f(t))n=16;else if("object"==typeof t){if(65&s){const n=t.default;return void(n&&(n._c&&(n._d=!1),zr(e,n()),n._c&&(n._d=!0)))}{n=32;const s=t._;s||Is(t)?3===s&&rn&&(1===rn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=rn}}else h(t)?(t={default:t,_ctx:rn},n=32):(t=String(t),64&s?(n=16,t=[Br(t)]):n=8);e.children=t,e.shapeFlag|=n}function qr(...e){const t={};for(let n=0;nXr||rn;let Yr,eo;{const e=V(),t=(t,n)=>{let s;return(s=e[t])||(s=e[t]=[]),s.push(n),e=>{s.length>1?s.forEach((t=>t(e))):s[0](e)}};Yr=t("__VUE_INSTANCE_SETTERS__",(e=>Xr=e)),eo=t("__VUE_SSR_SETTERS__",(e=>oo=e))}const to=e=>{const t=Xr;return Yr(e),e.scope.on(),()=>{e.scope.off(),Yr(t)}},no=()=>{Xr&&Xr.scope.off(),Yr(null)};function so(e){return 4&e.vnode.shapeFlag}let ro,oo=!1;function io(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:m(t)&&(e.setupState=Tt(t)),lo(e,n)}function lo(e,t,n){const r=e.type;if(!e.render){if(!t&&ro&&!r.render){const t=r.template||Cs(e).template;if(t){const{isCustomElement:n,compilerOptions:s}=e.appContext.config,{delimiters:o,compilerOptions:i}=r,c=l(l({isCustomElement:n,delimiters:o},s),i);r.render=ro(t,c)}}e.render=r.render||s}{const t=to(e);be();try{bs(e)}finally{xe(),t()}}}const co={get:(e,t)=>(Me(e,0,""),e[t])};function ao(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tt(mt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in hs?hs[n](e):void 0,has:(e,t)=>t in e||t in hs})):e.proxy}function uo(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}const fo=(e,t)=>{const n=function(e,t,n=!1){let s,r;return h(e)?s=e:(s=e.get,r=e.set),new $t(s,r,n)}(e,0,oo);return n};function po(e,t,n){const s=arguments.length;return 2===s?m(t)&&!f(t)?$r(t)?Nr(e,null,[t]):Nr(e,t):Nr(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):3===s&&$r(n)&&(n=[n]),Nr(e,t,n))}const ho="3.5.17"; -/** -* @vue/runtime-dom v3.5.17 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let vo;const go="undefined"!=typeof window&&window.trustedTypes;if(go)try{vo=go.createPolicy("vue",{createHTML:e=>e})}catch(bi){}const mo=vo?e=>vo.createHTML(e):e=>e,_o="undefined"!=typeof document?document:null,yo=_o&&_o.createElement("template"),bo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r="svg"===t?_o.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?_o.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?_o.createElement(e,{is:n}):_o.createElement(e);return"select"===e&&s&&null!=s.multiple&&r.setAttribute("multiple",s.multiple),r},createText:e=>_o.createTextNode(e),createComment:e=>_o.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_o.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==o&&(r=r.nextSibling););else{yo.innerHTML=mo("svg"===s?`${e}`:"mathml"===s?`${e}`:e);const r=yo.content;if("svg"===s||"mathml"===s){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},xo="transition",So="animation",Co=Symbol("_vtc"),wo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ko=l({},An,wo),Ao=(e=>(e.displayName="Transition",e.props=ko,e))(((e,{slots:t})=>po(On,function(e){const t={};for(const l in e)l in wo||(t[l]=e[l]);if(!1===e.css)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:u=i,appearToClass:f=c,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=function(e){if(null==e)return null;if(m(e))return[Oo(e.enter),Oo(e.leave)];{const t=Oo(e);return[t,t]}}(r),g=v&&v[0],_=v&&v[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:x,onLeave:S,onLeaveCancelled:C,onBeforeAppear:w=y,onAppear:k=b,onAppearCancelled:A=x}=t,E=(e,t,n,s)=>{e._enterCancelled=s,Mo(e,t?f:c),Mo(e,t?u:i),n&&n()},T=(e,t)=>{e._isLeaving=!1,Mo(e,p),Mo(e,h),Mo(e,d),t&&t()},O=e=>(t,n)=>{const r=e?k:b,i=()=>E(t,e,n);Eo(r,[t,i]),Lo((()=>{Mo(t,e?a:o),Fo(t,e?f:c),To(r)||Po(t,s,g,i)}))};return l(t,{onBeforeEnter(e){Eo(y,[e]),Fo(e,o),Fo(e,i)},onBeforeAppear(e){Eo(w,[e]),Fo(e,a),Fo(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>T(e,t);Fo(e,p),e._enterCancelled?(Fo(e,d),Ro()):(Ro(),Fo(e,d)),Lo((()=>{e._isLeaving&&(Mo(e,p),Fo(e,h),To(S)||Po(e,s,_,n))})),Eo(S,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Eo(x,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Eo(A,[e])},onLeaveCancelled(e){T(e),Eo(C,[e])}})}(e),t))),Eo=(e,t=[])=>{f(e)?e.forEach((e=>e(...t))):e&&e(...t)},To=e=>!!e&&(f(e)?e.some((e=>e.length>1)):e.length>1);function Oo(e){return D(e)}function Fo(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[Co]||(e[Co]=new Set)).add(t)}function Mo(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[Co];n&&(n.delete(t),n.size||(e[Co]=void 0))}function Lo(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let jo=0;function Po(e,t,n,s){const r=e._endId=++jo,o=()=>{r===e._endId&&s()};if(null!=n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=function(e,t){const n=window.getComputedStyle(e),s=e=>(n[e]||"").split(", "),r=s(`${xo}Delay`),o=s(`${xo}Duration`),i=$o(r,o),l=s(`${So}Delay`),c=s(`${So}Duration`),a=$o(l,c);let u=null,f=0,p=0;t===xo?i>0&&(u=xo,f=i,p=o.length):t===So?a>0&&(u=So,f=a,p=c.length):(f=Math.max(i,a),u=f>0?i>a?xo:So:null,p=u?u===xo?o.length:c.length:0);const d=u===xo&&/\b(transform|all)(,|$)/.test(s(`${xo}Property`).toString());return{type:u,timeout:f,propCount:p,hasTransform:d}}(e,t);if(!i)return s();const a=i+"end";let u=0;const f=()=>{e.removeEventListener(a,p),o()},p=t=>{t.target===e&&++u>=c&&f()};setTimeout((()=>{uDo(t)+Do(e[n]))))}function Do(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Ro(){return document.body.offsetHeight}const Vo=Symbol("_vod"),Io=Symbol("_vsh"),No={beforeMount(e,{value:t},{transition:n}){e[Vo]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):Uo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Uo(e,!0),s.enter(e)):s.leave(e,(()=>{Uo(e,!1)})):Uo(e,t))},beforeUnmount(e,{value:t}){Uo(e,t)}};function Uo(e,t){e.style.display=t?e[Vo]:"none",e[Io]=!t}const Bo=Symbol(""),Wo=/(^|;)\s*display\s*:/;const Ho=/\s*!important$/;function Ko(e,t,n){if(f(n))n.forEach((n=>Ko(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=function(e,t){const n=qo[t];if(n)return n;let s=E(t);if("filter"!==s&&s in e)return qo[t]=s;s=F(s);for(let r=0;r{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Bt(function(e,t){if(f(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=si(),n}(s,r);Xo(e,n,i,l)}else i&&(!function(e,t,n,s){e.removeEventListener(t,n,s)}(e,n,i,l),o[t]=void 0)}}const ei=/(?:Once|Passive|Capture)$/;let ti=0;const ni=Promise.resolve(),si=()=>ti||(ni.then((()=>ti=0)),ti=Date.now());const ri=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const oi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return f(t)?e=>j(t,e):t};function ii(e){e.target.composing=!0}function li(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ci=Symbol("_assign"),ai={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[ci]=oi(r);const o=s||r.props&&"number"===r.props.type;Xo(e,t?"change":"input",(t=>{if(t.target.composing)return;let s=e.value;n&&(s=s.trim()),o&&(s=$(s)),e[ci](s)})),n&&Xo(e,"change",(()=>{e.value=e.value.trim()})),t||(Xo(e,"compositionstart",ii),Xo(e,"compositionend",li),Xo(e,"change",li))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},i){if(e[ci]=oi(i),e.composing)return;const l=null==t?"":t;if((!o&&"number"!==e.type||/^0\d/.test(e.value)?e.value:$(e.value))!==l){if(document.activeElement===e&&"range"!==e.type){if(s&&t===n)return;if(r&&e.value.trim()===l)return}e.value=l}}},ui=["ctrl","shift","alt","meta"],fi={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ui.some((n=>e[`${n}Key`]&&!t.includes(n)))},pi=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(n,...s)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=n=>{if(!("key"in n))return;const s=O(n.key);return t.some((e=>e===s||di[e]===s))?e(n):void 0})},vi=l({patchProp:(e,t,n,s,r,l)=>{const c="svg"===r;"class"===t?function(e,t,n){const s=e[Co];s&&(t=(t?[t,...s]:[...s]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,s,c):"style"===t?function(e,t,n){const s=e.style,r=v(n);let o=!1;if(n&&!r){if(t)if(v(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&Ko(s,t,"")}else for(const e in t)null==n[e]&&Ko(s,e,"");for(const e in n)"display"===e&&(o=!0),Ko(s,e,n[e])}else if(r){if(t!==n){const e=s[Bo];e&&(n+=";"+e),s.cssText=n,o=Wo.test(n)}}else t&&e.removeAttribute("style");Vo in e&&(e[Vo]=o?s.display:"",e[Io]&&(s.display="none"))}(e,n,s):o(t)?i(t)||Yo(e,t,0,s,l):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,s){if(s)return"innerHTML"===t||"textContent"===t||!!(t in e&&ri(t)&&h(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(ri(t)&&v(n))return!1;return t in e}(e,t,s,c))?(Zo(e,t,s),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||Jo(e,t,s,c,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&v(s)?("true-value"===t?e._trueValue=s:"false-value"===t&&(e._falseValue=s),Jo(e,t,s,c)):Zo(e,E(t),s,0,t)}},bo);let gi;function mi(){return gi||(gi=tr(vi))}const _i=(...e)=>{mi().render(...e)},yi=(...e)=>{const t=mi().createApp(...e),{mount:n}=t;return t.mount=e=>{const s=function(e){if(v(e)){return document.querySelector(e)}return e}(e);if(!s)return;const r=t._component;h(r)||r.render||r.template||(r.template=s.innerHTML),1===s.nodeType&&(s.textContent="");const o=n(s,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};export{yi as $,jt as A,Ft as B,fo as C,fs as D,Br as E,J as F,ss as G,is as H,cn as I,os as J,H as K,Wr as L,Cr as M,as as N,Ao as O,K as P,us as Q,At as R,St as S,bn as T,ai as U,pi as V,I as W,hi as X,No as Y,_i as Z,po as _,Or as a,Ir as b,jr as c,Nr as d,kt as e,Pr as f,_s as g,ut as h,Qr as i,ar as j,qr as k,at as l,mt as m,Xt as n,qn as o,te as p,bt as q,xt as r,pt as s,gt as t,dr as u,$s as v,an as w,ne as x,se as y,Ds as z}; diff --git a/web_version/v2/assets/vue-DAoaJb2i.js b/web_version/v2/assets/vue-DAoaJb2i.js new file mode 100644 index 0000000..5bce3b8 --- /dev/null +++ b/web_version/v2/assets/vue-DAoaJb2i.js @@ -0,0 +1,23 @@ +/** +* @vue/shared v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}const t={},n=[],s=()=>{},r=()=>!1,o=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),i=e=>e.startsWith("onUpdate:"),l=Object.assign,c=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},a=Object.prototype.hasOwnProperty,u=(e,t)=>a.call(e,t),f=Array.isArray,p=e=>"[object Map]"===b(e),d=e=>"[object Set]"===b(e),h=e=>"function"==typeof e,v=e=>"string"==typeof e,g=e=>"symbol"==typeof e,m=e=>null!==e&&"object"==typeof e,_=e=>(m(e)||h(e))&&h(e.then)&&h(e.catch),y=Object.prototype.toString,b=e=>y.call(e),x=e=>b(e).slice(8,-1),S=e=>"[object Object]"===b(e),C=e=>v(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,w=e(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),k=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},A=/-(\w)/g,E=k((e=>e.replace(A,((e,t)=>t?t.toUpperCase():"")))),T=/\B([A-Z])/g,O=k((e=>e.replace(T,"-$1").toLowerCase())),F=k((e=>e.charAt(0).toUpperCase()+e.slice(1))),M=k((e=>e?`on${F(e)}`:"")),L=(e,t)=>!Object.is(e,t),j=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},$=e=>{const t=parseFloat(e);return isNaN(t)?e:t},D=e=>{const t=v(e)?Number(e):NaN;return isNaN(t)?e:t};let R;const V=()=>R||(R="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function I(e){if(f(e)){const t={};for(let n=0;n{if(e){const n=e.split(U);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function H(e){let t="";if(v(e))t=e;else if(f(e))for(let n=0;n!(!e||!0!==e.__v_isRef),J=e=>v(e)?e:null==e?"":f(e)||m(e)&&(e.toString===y||!h(e.toString))?G(e)?J(e.value):JSON.stringify(e,Z,2):String(e),Z=(e,t)=>G(t)?Z(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],s)=>(e[X(t,s)+" =>"]=n,e)),{})}:d(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>X(e)))}:g(t)?X(t):!m(t)||f(t)||S(t)?t:String(t),X=(e,t="")=>{var n;return g(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}; +/** +* @vue/reactivity v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +let Q,Y;class ee{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Q,!e&&Q&&(this.index=(Q.scopes||(Q.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0==--this._on&&(Q=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,n;for(this._active=!1,t=0,n=this.effects.length;t0)return;if(le){let e=le;for(le=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;ie;){let n=ie;for(ie=void 0;n;){const s=n.next;if(n.next=void 0,n.flags&=-9,1&n.flags)try{n.trigger()}catch(t){e||(e=t)}n=s}}if(e)throw e}function pe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function de(e){let t,n=e.depsTail,s=n;for(;s;){const e=s.prevDep;-1===s.version?(s===n&&(n=e),ge(s),me(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=e}e.deps=t,e.depsTail=n}function he(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ve(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ve(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Ce)return;if(e.globalVersion=Ce,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!he(e)))return;e.flags|=2;const t=e.dep,n=Y,s=_e;Y=e,_e=!0;try{pe(e);const n=e.fn(e._value);(0===t.version||L(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(r){throw t.version++,r}finally{Y=n,_e=s,de(e),e.flags&=-3}}function ge(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)ge(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function me(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let _e=!0;const ye=[];function be(){ye.push(_e),_e=!1}function xe(){const e=ye.pop();_e=void 0===e||e}function Se(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=Y;Y=void 0;try{t()}finally{Y=e}}}let Ce=0;class we{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ke{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Y||!_e||Y===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==Y)t=this.activeLink=new we(Y,this),Y.deps?(t.prevDep=Y.depsTail,Y.depsTail.nextDep=t,Y.depsTail=t):Y.deps=Y.depsTail=t,Ae(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Y.depsTail,t.nextDep=void 0,Y.depsTail.nextDep=t,Y.depsTail=t,Y.deps===t&&(Y.deps=e)}return t}trigger(e){this.version++,Ce++,this.notify(e)}notify(e){ue();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{fe()}}}function Ae(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ae(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ee=new WeakMap,Te=Symbol(""),Oe=Symbol(""),Fe=Symbol("");function Me(e,t,n){if(_e&&Y){let t=Ee.get(e);t||Ee.set(e,t=new Map);let s=t.get(n);s||(t.set(n,s=new ke),s.map=t,s.key=n),s.track()}}function Le(e,t,n,s,r,o){const i=Ee.get(e);if(!i)return void Ce++;const l=e=>{e&&e.trigger()};if(ue(),"clear"===t)i.forEach(l);else{const r=f(e),o=r&&C(n);if(r&&"length"===n){const e=Number(s);i.forEach(((t,n)=>{("length"===n||n===Fe||!g(n)&&n>=e)&&l(t)}))}else switch((void 0!==n||i.has(void 0))&&l(i.get(n)),o&&l(i.get(Fe)),t){case"add":r?o&&l(i.get("length")):(l(i.get(Te)),p(e)&&l(i.get(Oe)));break;case"delete":r||(l(i.get(Te)),p(e)&&l(i.get(Oe)));break;case"set":p(e)&&l(i.get(Te))}}fe()}function je(e){const t=gt(e);return t===e?t:(Me(t,0,Fe),ht(e)?t:t.map(_t))}function Pe(e){return Me(e=gt(e),0,Fe),e}const $e={__proto__:null,[Symbol.iterator](){return De(this,Symbol.iterator,_t)},concat(...e){return je(this).concat(...e.map((e=>f(e)?je(e):e)))},entries(){return De(this,"entries",(e=>(e[1]=_t(e[1]),e)))},every(e,t){return Ve(this,"every",e,t,void 0,arguments)},filter(e,t){return Ve(this,"filter",e,t,(e=>e.map(_t)),arguments)},find(e,t){return Ve(this,"find",e,t,_t,arguments)},findIndex(e,t){return Ve(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ve(this,"findLast",e,t,_t,arguments)},findLastIndex(e,t){return Ve(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ve(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ne(this,"includes",e)},indexOf(...e){return Ne(this,"indexOf",e)},join(e){return je(this).join(e)},lastIndexOf(...e){return Ne(this,"lastIndexOf",e)},map(e,t){return Ve(this,"map",e,t,void 0,arguments)},pop(){return Ue(this,"pop")},push(...e){return Ue(this,"push",e)},reduce(e,...t){return Ie(this,"reduce",e,t)},reduceRight(e,...t){return Ie(this,"reduceRight",e,t)},shift(){return Ue(this,"shift")},some(e,t){return Ve(this,"some",e,t,void 0,arguments)},splice(...e){return Ue(this,"splice",e)},toReversed(){return je(this).toReversed()},toSorted(e){return je(this).toSorted(e)},toSpliced(...e){return je(this).toSpliced(...e)},unshift(...e){return Ue(this,"unshift",e)},values(){return De(this,"values",_t)}};function De(e,t,n){const s=Pe(e),r=s[t]();return s===e||ht(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=n(e.value)),e}),r}const Re=Array.prototype;function Ve(e,t,n,s,r,o){const i=Pe(e),l=i!==e&&!ht(e),c=i[t];if(c!==Re[t]){const t=c.apply(e,o);return l?_t(t):t}let a=n;i!==e&&(l?a=function(t,s){return n.call(this,_t(t),s,e)}:n.length>2&&(a=function(t,s){return n.call(this,t,s,e)}));const u=c.call(i,a,s);return l&&r?r(u):u}function Ie(e,t,n,s){const r=Pe(e);let o=n;return r!==e&&(ht(e)?n.length>3&&(o=function(t,s,r){return n.call(this,t,s,r,e)}):o=function(t,s,r){return n.call(this,t,_t(s),r,e)}),r[t](o,...s)}function Ne(e,t,n){const s=gt(e);Me(s,0,Fe);const r=s[t](...n);return-1!==r&&!1!==r||!vt(n[0])?r:(n[0]=gt(n[0]),s[t](...n))}function Ue(e,t,n=[]){be(),ue();const s=gt(e)[t].apply(e,n);return fe(),xe(),s}const Be=e("__proto__,__v_isRef,__isVue"),We=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(g));function He(e){g(e)||(e=String(e));const t=gt(this);return Me(t,0,e),t.hasOwnProperty(e)}class Ke{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const s=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!s;if("__v_isReadonly"===t)return s;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(s?r?ct:lt:r?it:ot).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const o=f(e);if(!s){let e;if(o&&(e=$e[t]))return e;if("hasOwnProperty"===t)return He}const i=Reflect.get(e,t,bt(e)?e:n);return(g(t)?We.has(t):Be(t))?i:(s||Me(e,0,t),r?i:bt(i)?o&&C(t)?i:i.value:m(i)?s?ut(i):at(i):i)}}class qe extends Ke{constructor(e=!1){super(!1,e)}set(e,t,n,s){let r=e[t];if(!this._isShallow){const t=dt(r);if(ht(n)||dt(n)||(r=gt(r),n=gt(n)),!f(e)&&bt(r)&&!bt(n))return!t&&(r.value=n,!0)}const o=f(e)&&C(t)?Number(t)e,Qe=e=>Reflect.getPrototypeOf(e);function Ye(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function et(e,t){const n={get(n){const s=this.__v_raw,r=gt(s),o=gt(n);e||(L(n,o)&&Me(r,0,n),Me(r,0,o));const{has:i}=Qe(r),l=t?Xe:e?yt:_t;return i.call(r,n)?l(s.get(n)):i.call(r,o)?l(s.get(o)):void(s!==r&&s.get(n))},get size(){const t=this.__v_raw;return!e&&Me(gt(t),0,Te),Reflect.get(t,"size",t)},has(t){const n=this.__v_raw,s=gt(n),r=gt(t);return e||(L(t,r)&&Me(s,0,t),Me(s,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,s){const r=this,o=r.__v_raw,i=gt(o),l=t?Xe:e?yt:_t;return!e&&Me(i,0,Te),o.forEach(((e,t)=>n.call(s,l(e),l(t),r)))}};l(n,e?{add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear")}:{add(e){t||ht(e)||dt(e)||(e=gt(e));const n=gt(this);return Qe(n).has.call(n,e)||(n.add(e),Le(n,"add",e,e)),this},set(e,n){t||ht(n)||dt(n)||(n=gt(n));const s=gt(this),{has:r,get:o}=Qe(s);let i=r.call(s,e);i||(e=gt(e),i=r.call(s,e));const l=o.call(s,e);return s.set(e,n),i?L(n,l)&&Le(s,"set",e,n):Le(s,"add",e,n),this},delete(e){const t=gt(this),{has:n,get:s}=Qe(t);let r=n.call(t,e);r||(e=gt(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Le(t,"delete",e,void 0),o},clear(){const e=gt(this),t=0!==e.size,n=e.clear();return t&&Le(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach((s=>{n[s]=function(e,t,n){return function(...s){const r=this.__v_raw,o=gt(r),i=p(o),l="entries"===e||e===Symbol.iterator&&i,c="keys"===e&&i,a=r[e](...s),u=n?Xe:t?yt:_t;return!t&&Me(o,0,c?Oe:Te),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:l?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}(s,e,t)})),n}function tt(e,t){const n=et(e,t);return(t,s,r)=>"__v_isReactive"===s?!e:"__v_isReadonly"===s?e:"__v_raw"===s?t:Reflect.get(u(n,s)&&s in t?n:t,s,r)}const nt={get:tt(!1,!1)},st={get:tt(!1,!0)},rt={get:tt(!0,!1)},ot=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap;function at(e){return dt(e)?e:ft(e,!1,Ge,nt,ot)}function ut(e){return ft(e,!0,Je,rt,lt)}function ft(e,t,n,s,r){if(!m(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const o=(i=e).__v_skip||!Object.isExtensible(i)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(x(i));var i;if(0===o)return e;const l=r.get(e);if(l)return l;const c=new Proxy(e,2===o?s:n);return r.set(e,c),c}function pt(e){return dt(e)?pt(e.__v_raw):!(!e||!e.__v_isReactive)}function dt(e){return!(!e||!e.__v_isReadonly)}function ht(e){return!(!e||!e.__v_isShallow)}function vt(e){return!!e&&!!e.__v_raw}function gt(e){const t=e&&e.__v_raw;return t?gt(t):e}function mt(e){return!u(e,"__v_skip")&&Object.isExtensible(e)&&P(e,"__v_skip",!0),e}const _t=e=>m(e)?at(e):e,yt=e=>m(e)?ut(e):e;function bt(e){return!!e&&!0===e.__v_isRef}function xt(e){return Ct(e,!1)}function St(e){return Ct(e,!0)}function Ct(e,t){return bt(e)?e:new wt(e,t)}class wt{constructor(e,t){this.dep=new ke,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:gt(e),this._value=t?e:_t(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||ht(e)||dt(e);e=n?e:gt(e),L(e,t)&&(this._rawValue=e,this._value=n?e:_t(e),this.dep.trigger())}}function kt(e){return bt(e)?e.value:e}function At(e){return h(e)?e():kt(e)}const Et={get:(e,t,n)=>"__v_raw"===t?e:kt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return bt(r)&&!bt(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Tt(e){return pt(e)?e:new Proxy(e,Et)}class Ot{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new ke,{get:n,set:s}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=s}get value(){return this._value=this._get()}set value(e){this._set(e)}}function Ft(e){const t=f(e)?new Array(e.length):{};for(const n in e)t[n]=Pt(e,n);return t}class Mt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=Ee.get(e);return n&&n.get(t)}(gt(this._object),this._key)}}class Lt{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function jt(e,t,n){return bt(e)?e:h(e)?new Lt(e):m(e)&&arguments.length>1?Pt(e,t,n):xt(e)}function Pt(e,t,n){const s=e[t];return bt(s)?s:new Mt(e,t,n)}class $t{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new ke(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ce-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&Y!==this)return ae(this,!0),!0}get value(){const e=this.dep.track();return ve(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Dt={},Rt=new WeakMap;let Vt;function It(e,n,r=t){const{immediate:o,deep:i,once:l,scheduler:a,augmentJob:u,call:p}=r,d=e=>i?e:ht(e)||!1===i||0===i?Nt(e,1):Nt(e);let v,g,m,_,y=!1,b=!1;if(bt(e)?(g=()=>e.value,y=ht(e)):pt(e)?(g=()=>d(e),y=!0):f(e)?(b=!0,y=e.some((e=>pt(e)||ht(e))),g=()=>e.map((e=>bt(e)?e.value:pt(e)?d(e):h(e)?p?p(e,2):e():void 0))):g=h(e)?n?p?()=>p(e,2):e:()=>{if(m){be();try{m()}finally{xe()}}const t=Vt;Vt=v;try{return p?p(e,3,[_]):e(_)}finally{Vt=t}}:s,n&&i){const e=g,t=!0===i?1/0:i;g=()=>Nt(e(),t)}const x=ne(),S=()=>{v.stop(),x&&x.active&&c(x.effects,v)};if(l&&n){const e=n;n=(...t)=>{e(...t),S()}}let C=b?new Array(e.length).fill(Dt):Dt;const w=e=>{if(1&v.flags&&(v.dirty||e))if(n){const e=v.run();if(i||y||(b?e.some(((e,t)=>L(e,C[t]))):L(e,C))){m&&m();const t=Vt;Vt=v;try{const t=[e,C===Dt?void 0:b&&C[0]===Dt?[]:C,_];C=e,p?p(n,3,t):n(...t)}finally{Vt=t}}}else v.run()};return u&&u(w),v=new oe(g),v.scheduler=a?()=>a(w,!1):w,_=e=>function(e,t=!1,n=Vt){if(n){let t=Rt.get(n);t||Rt.set(n,t=[]),t.push(e)}}(e,!1,v),m=v.onStop=()=>{const e=Rt.get(v);if(e){if(p)p(e,4);else for(const t of e)t();Rt.delete(v)}},n?o?w(!0):C=v.run():a?a(w.bind(null,!0),!0):v.run(),S.pause=v.pause.bind(v),S.resume=v.resume.bind(v),S.stop=S,S}function Nt(e,t=1/0,n){if(t<=0||!m(e)||e.__v_skip)return e;if((n=n||new Set).has(e))return e;if(n.add(e),t--,bt(e))Nt(e.value,t,n);else if(f(e))for(let s=0;s{Nt(e,t,n)}));else if(S(e)){for(const s in e)Nt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Nt(e[s],t,n)}return e} +/** +* @vue/runtime-core v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ut(e,t,n,s){try{return s?e(...s):e()}catch(r){Wt(r,t,n)}}function Bt(e,t,n,s){if(h(e)){const r=Ut(e,t,n,s);return r&&_(r)&&r.catch((e=>{Wt(e,t,n)})),r}if(f(e)){const r=[];for(let o=0;o=nn(n)?Ht.push(e):Ht.splice(function(e){let t=Kt+1,n=Ht.length;for(;t>>1,r=Ht[s],o=nn(r);onn(e)-nn(t)));if(qt.length=0,zt)return void zt.push(...e);for(zt=e,Gt=0;Gtnull==e.id?2&e.flags?-1:1/0:e.id;function sn(e){try{for(Kt=0;Kt{s._d&&Lr(-1);const r=ln(t);let o;try{o=e(...n)}finally{ln(r),s._d&&Lr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function an(e,n){if(null===rn)return e;const s=uo(rn),r=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,dn=e=>e&&(e.disabled||""===e.disabled),hn=e=>e&&(e.defer||""===e.defer),vn=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,gn=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,mn=(e,t)=>{const n=e&&e.to;if(v(n)){if(t){return t(n)}return null}return n},_n={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,a){const{mc:u,pc:f,pbc:p,o:{insert:d,querySelector:h,createText:v,createComment:g}}=a,m=dn(t.props);let{shapeFlag:_,children:y,dynamicChildren:b}=t;if(null==e){const e=t.el=v(""),a=t.anchor=v("");d(e,n,s),d(a,n,s);const f=(e,t)=>{16&_&&(r&&r.isCE&&(r.ce._teleportTarget=e),u(y,e,t,r,o,i,l,c))},p=()=>{const e=t.target=mn(t.props,h),n=Sn(e,t,v,d);e&&("svg"!==i&&vn(e)?i="svg":"mathml"!==i&&gn(e)&&(i="mathml"),m||(f(e,n),xn(t,!1)))};m&&(f(n,a),xn(t,!0)),hn(t.props)?(t.el.__isMounted=!1,er((()=>{p(),delete t.el.__isMounted}),o)):p()}else{if(hn(t.props)&&!1===e.el.__isMounted)return void er((()=>{_n.process(e,t,n,s,r,o,i,l,c,a)}),o);t.el=e.el,t.targetStart=e.targetStart;const u=t.anchor=e.anchor,d=t.target=e.target,v=t.targetAnchor=e.targetAnchor,g=dn(e.props),_=g?n:d,y=g?u:v;if("svg"===i||vn(d)?i="svg":("mathml"===i||gn(d))&&(i="mathml"),b?(p(e.dynamicChildren,b,_,r,o,i,l),rr(e,t,!0)):c||f(e,t,_,y,r,o,i,l,!1),m)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yn(t,n,u,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=mn(t.props,h);e&&yn(t,e,null,a,0)}else g&&yn(t,d,v,a,1);xn(t,m)}},remove(e,t,n,{um:s,o:{remove:r}},o){const{shapeFlag:i,children:l,anchor:c,targetStart:a,targetAnchor:u,target:f,props:p}=e;if(f&&(r(a),r(u)),o&&r(c),16&i){const e=o||!dn(p);for(let r=0;r{const t=e.subTree;return t.component?En(t.component):t};function Tn(e){let t=e[0];if(e.length>1)for(const n of e)if(n.type!==Ar){t=n;break}return t}const On={name:"BaseTransition",props:An,setup(e,{slots:t}){const n=Yr(),s=function(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return zn((()=>{e.isMounted=!0})),Zn((()=>{e.isUnmounting=!0})),e}();return()=>{const r=t.default&&$n(t.default(),!0);if(!r||!r.length)return;const o=Tn(r),i=gt(e),{mode:l}=i;if(s.isLeaving)return Ln(o);const c=jn(o);if(!c)return Ln(o);let a=Mn(c,i,s,n,(e=>a=e));c.type!==Ar&&Pn(c,a);let u=n.subTree&&jn(n.subTree);if(u&&u.type!==Ar&&!Rr(c,u)&&En(n).type!==Ar){let e=Mn(u,i,s,n);if(Pn(u,e),"out-in"===l&&c.type!==Ar)return s.isLeaving=!0,e.afterLeave=()=>{s.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,u=void 0},Ln(o);"in-out"===l&&c.type!==Ar?e.delayLeave=(e,t,n)=>{Fn(s,u)[String(u.key)]=u,e[Cn]=()=>{t(),e[Cn]=void 0,delete a.delayedLeave,u=void 0},a.delayedLeave=()=>{n(),delete a.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function Fn(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Mn(e,t,n,s,r){const{appear:o,mode:i,persisted:l=!1,onBeforeEnter:c,onEnter:a,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:d,onLeave:h,onAfterLeave:v,onLeaveCancelled:g,onBeforeAppear:m,onAppear:_,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=Fn(n,e),C=(e,t)=>{e&&Bt(e,s,9,t)},w=(e,t)=>{const n=t[1];C(e,t),f(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},k={mode:i,persisted:l,beforeEnter(t){let s=c;if(!n.isMounted){if(!o)return;s=m||c}t[Cn]&&t[Cn](!0);const r=S[x];r&&Rr(e,r)&&r.el[Cn]&&r.el[Cn](),C(s,[t])},enter(e){let t=a,s=u,r=p;if(!n.isMounted){if(!o)return;t=_||a,s=y||u,r=b||p}let i=!1;const l=e[wn]=t=>{i||(i=!0,C(t?r:s,[e]),k.delayedLeave&&k.delayedLeave(),e[wn]=void 0)};t?w(t,[e,l]):l()},leave(t,s){const r=String(e.key);if(t[wn]&&t[wn](!0),n.isUnmounting)return s();C(d,[t]);let o=!1;const i=t[Cn]=n=>{o||(o=!0,s(),C(n?g:v,[t]),t[Cn]=void 0,S[r]===e&&delete S[r])};S[r]=e,h?w(h,[t,i]):i()},clone(e){const o=Mn(e,t,n,s,r);return r&&r(o),o}};return k}function Ln(e){if(In(e))return(e=Br(e)).children=null,e}function jn(e){if(!In(e))return pn(e.type)&&e.children?Tn(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&h(n.default))return n.default()}}function Pn(e,t){6&e.shapeFlag&&e.component?(e.transition=t,Pn(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function $n(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;oRn(e,n&&(f(n)?n[t]:n),s,r,o)));if(Vn(r)&&!o)return void(512&r.shapeFlag&&r.type.__asyncResolved&&r.component.subTree.component&&Rn(e,n,s,r.component.subTree));const i=4&r.shapeFlag?uo(r.component):r.el,l=o?null:i,{i:a,r:p}=e,d=n&&n.r,g=a.refs===t?a.refs={}:a.refs,m=a.setupState,_=gt(m),y=m===t?()=>!1:e=>u(_,e);if(null!=d&&d!==p&&(v(d)?(g[d]=null,y(d)&&(m[d]=null)):bt(d)&&(d.value=null)),h(p))Ut(p,a,12,[l,g]);else{const t=v(p),n=bt(p);if(t||n){const r=()=>{if(e.f){const n=t?y(p)?m[p]:g[p]:p.value;o?f(n)&&c(n,i):f(n)?n.includes(i)||n.push(i):t?(g[p]=[i],y(p)&&(m[p]=g[p])):(p.value=[i],e.k&&(g[e.k]=p.value))}else t?(g[p]=l,y(p)&&(m[p]=l)):n&&(p.value=l,e.k&&(g[e.k]=l))};l?(r.id=-1,er(r,s)):r()}}}V().requestIdleCallback,V().cancelIdleCallback;const Vn=e=>!!e.type.__asyncLoader,In=e=>e.type.__isKeepAlive;function Nn(e,t){Bn(e,"a",t)}function Un(e,t){Bn(e,"da",t)}function Bn(e,t,n=Qr){const s=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Hn(t,s,n),n){let e=n.parent;for(;e&&e.parent;)In(e.parent.vnode)&&Wn(s,t,n,e),e=e.parent}}function Wn(e,t,n,s){const r=Hn(t,e,s,!0);Xn((()=>{c(s[t],r)}),n)}function Hn(e,t,n=Qr,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{be();const r=no(n),o=Bt(t,n,e,s);return r(),xe(),o});return s?r.unshift(o):r.push(o),o}}const Kn=e=>(t,n=Qr)=>{io&&"sp"!==e||Hn(e,((...e)=>t(...e)),n)},qn=Kn("bm"),zn=Kn("m"),Gn=Kn("bu"),Jn=Kn("u"),Zn=Kn("bum"),Xn=Kn("um"),Qn=Kn("sp"),Yn=Kn("rtg"),es=Kn("rtc");function ts(e,t=Qr){Hn("ec",e,t)}const ns="components";function ss(e,t){return ls(ns,e,!0,t)||e}const rs=Symbol.for("v-ndc");function os(e){return v(e)?ls(ns,e,!1)||e:e||rs}function is(e){return ls("directives",e)}function ls(e,t,n=!0,s=!1){const r=rn||Qr;if(r){const n=r.type;if(e===ns){const e=fo(n,!1);if(e&&(e===t||e===E(t)||e===F(E(t))))return n}const o=cs(r[e]||n[e],t)||cs(r.appContext[e],t);return!o&&s?n:o}}function cs(e,t){return e&&(e[t]||e[E(t)]||e[F(E(t))])}function as(e,t,n,s){let r;const o=n,i=f(e);if(i||v(e)){let n=!1,s=!1;i&&pt(e)&&(n=!ht(e),s=dt(e),e=Pe(e)),r=new Array(e.length);for(let i=0,l=e.length;it(e,n,void 0,o)));else{const n=Object.keys(e);r=new Array(n.length);for(let s=0,i=n.length;s{const t=s.fn(...e);return t&&(t.key=s.key),t}:s.fn)}return e}function fs(e,t,n={},s,r){if(rn.ce||rn.parent&&Vn(rn.parent)&&rn.parent.ce)return"default"!==t&&(n.name=t),Fr(),$r(wr,null,[Ur("slot",n,s&&s())],64);let o=e[t];o&&o._c&&(o._d=!1),Fr();const i=o&&ps(o(n)),l=n.key||i&&i.key,c=$r(wr,{key:(l&&!g(l)?l:`_${t}`)+(!i&&s?"_fb":"")},i||(s?s():[]),i&&1===e._?64:-2);return!r&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function ps(e){return e.some((e=>!Dr(e)||e.type!==Ar&&!(e.type===wr&&!ps(e.children))))?e:null}const ds=e=>e?ro(e)?uo(e):ds(e.parent):null,hs=l(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ds(e.parent),$root:e=>ds(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Cs(e),$forceUpdate:e=>e.f||(e.f=()=>{Qt(e.update)}),$nextTick:e=>e.n||(e.n=Xt.bind(e.proxy)),$watch:e=>pr.bind(e)}),vs=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),gs={get({_:e},n){if("__v_skip"===n)return!0;const{ctx:s,setupState:r,data:o,props:i,accessCache:l,type:c,appContext:a}=e;let f;if("$"!==n[0]){const c=l[n];if(void 0!==c)switch(c){case 1:return r[n];case 2:return o[n];case 4:return s[n];case 3:return i[n]}else{if(vs(r,n))return l[n]=1,r[n];if(o!==t&&u(o,n))return l[n]=2,o[n];if((f=e.propsOptions[0])&&u(f,n))return l[n]=3,i[n];if(s!==t&&u(s,n))return l[n]=4,s[n];ys&&(l[n]=0)}}const p=hs[n];let d,h;return p?("$attrs"===n&&Me(e.attrs,0,""),p(e)):(d=c.__cssModules)&&(d=d[n])?d:s!==t&&u(s,n)?(l[n]=4,s[n]):(h=a.config.globalProperties,u(h,n)?h[n]:void 0)},set({_:e},n,s){const{data:r,setupState:o,ctx:i}=e;return vs(o,n)?(o[n]=s,!0):r!==t&&u(r,n)?(r[n]=s,!0):!u(e.props,n)&&(("$"!==n[0]||!(n.slice(1)in e))&&(i[n]=s,!0))},has({_:{data:e,setupState:n,accessCache:s,ctx:r,appContext:o,propsOptions:i}},l){let c;return!!s[l]||e!==t&&u(e,l)||vs(n,l)||(c=i[0])&&u(c,l)||u(r,l)||u(hs,l)||u(o.config.globalProperties,l)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:u(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ms(e){return f(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}function _s(e,t){return e&&t?f(e)&&f(t)?e.concat(t):l({},ms(e),ms(t)):e||t}let ys=!0;function bs(e){const t=Cs(e),n=e.proxy,r=e.ctx;ys=!1,t.beforeCreate&&xs(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:l,watch:c,provide:a,inject:u,created:p,beforeMount:d,mounted:v,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:k,renderTracked:A,renderTriggered:E,errorCaptured:T,serverPrefetch:O,expose:F,inheritAttrs:M,components:L,directives:j,filters:P}=t;if(u&&function(e,t){f(e)&&(e=Es(e));for(const n in e){const s=e[n];let r;r=m(s)?"default"in s?$s(s.from||n,s.default,!0):$s(s.from||n):$s(s),bt(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,r,null),l)for(const s in l){const e=l[s];h(e)&&(r[s]=e.bind(n))}if(o){const t=o.call(n,n);m(t)&&(e.data=at(t))}if(ys=!0,i)for(const f in i){const e=i[f],t=h(e)?e.bind(n,n):h(e.get)?e.get.bind(n,n):s,o=!h(e)&&h(e.set)?e.set.bind(n):s,l=po({get:t,set:o});Object.defineProperty(r,f,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e})}if(c)for(const s in c)Ss(c[s],r,n,s);if(a){const e=h(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{!function(e,t){if(Qr){let n=Qr.provides;const s=Qr.parent&&Qr.parent.provides;s===n&&(n=Qr.provides=Object.create(s)),n[e]=t}else;}(t,e[t])}))}function $(e,t){f(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&xs(p,e,"c"),$(qn,d),$(zn,v),$(Gn,g),$(Jn,_),$(Nn,y),$(Un,b),$(ts,T),$(es,A),$(Yn,E),$(Zn,S),$(Xn,w),$(Qn,O),f(F))if(F.length){const t=e.exposed||(e.exposed={});F.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===s&&(e.render=k),null!=M&&(e.inheritAttrs=M),L&&(e.components=L),j&&(e.directives=j),O&&Dn(e)}function xs(e,t,n){Bt(f(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ss(e,t,n,s){let r=s.includes(".")?dr(n,s):()=>n[s];if(v(e)){const n=t[e];h(n)&&ur(r,n)}else if(h(e))ur(r,e.bind(n));else if(m(e))if(f(e))e.forEach((e=>Ss(e,t,n,s)));else{const s=h(e.handler)?e.handler.bind(n):t[e.handler];h(s)&&ur(r,s,e)}}function Cs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:r.length||n||s?(c={},r.length&&r.forEach((e=>ws(c,e,i,!0))),ws(c,t,i)):c=t,m(t)&&o.set(t,c),c}function ws(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&ws(e,o,n,!0),r&&r.forEach((t=>ws(e,t,n,!0)));for(const i in t)if(s&&"expose"===i);else{const s=ks[i]||n&&n[i];e[i]=s?s(e[i],t[i]):t[i]}return e}const ks={data:As,props:Fs,emits:Fs,methods:Os,computed:Os,beforeCreate:Ts,created:Ts,beforeMount:Ts,mounted:Ts,beforeUpdate:Ts,updated:Ts,beforeDestroy:Ts,beforeUnmount:Ts,destroyed:Ts,unmounted:Ts,activated:Ts,deactivated:Ts,errorCaptured:Ts,serverPrefetch:Ts,components:Os,directives:Os,watch:function(e,t){if(!e)return t;if(!t)return e;const n=l(Object.create(null),e);for(const s in t)n[s]=Ts(e[s],t[s]);return n},provide:As,inject:function(e,t){return Os(Es(e),Es(t))}};function As(e,t){return t?e?function(){return l(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Es(e){if(f(e)){const t={};for(let n=0;n(o.has(e)||(e&&h(e.install)?(o.add(e),e.install(a,...t)):h(e)&&(o.add(e),e(a,...t))),a),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),a),component:(e,t)=>t?(r.components[e]=t,a):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,a):r.directives[e],mount(o,i,l){if(!c){const u=a._ceVNode||Ur(n,s);return u.appContext=r,!0===l?l="svg":!1===l&&(l=void 0),i&&t?t(u,o):e(u,o,l),c=!0,a._container=o,o.__vue_app__=a,uo(u.component)}},onUnmount(e){i.push(e)},unmount(){c&&(Bt(i,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,a),runWithContext(e){const t=Ps;Ps=a;try{return e()}finally{Ps=t}}};return a}}let Ps=null;function $s(e,t,n=!1){const s=Qr||rn;if(s||Ps){let r=Ps?Ps._context.provides:s?null==s.parent||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&h(t)?t.call(s&&s.proxy):t}}function Ds(){return!!(Qr||rn||Ps)}const Rs={},Vs=()=>Object.create(Rs),Is=e=>Object.getPrototypeOf(e)===Rs;function Ns(e,t,n,s=!1){const r={},o=Vs();e.propsDefaults=Object.create(null),Us(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:ft(r,!1,Ze,st,it):e.type.props?e.props=r:e.props=o,e.attrs=o}function Us(e,n,s,r){const[o,i]=e.propsOptions;let l,c=!1;if(n)for(let t in n){if(w(t))continue;const a=n[t];let f;o&&u(o,f=E(t))?i&&i.includes(f)?(l||(l={}))[f]=a:s[f]=a:_r(e.emitsOptions,t)||t in r&&a===r[t]||(r[t]=a,c=!0)}if(i){const n=gt(s),r=l||t;for(let t=0;t{d=!0;const[t,n]=Hs(e,s,!0);l(a,t),n&&p.push(...n)};!r&&s.mixins.length&&s.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!d)return m(e)&&o.set(e,n),n;if(f(c))for(let n=0;n"_"===e[0]||"$stable"===e,zs=e=>f(e)?e.map(Kr):[Kr(e)],Gs=(e,t,n)=>{if(t._n)return t;const s=cn(((...e)=>zs(t(...e))),n);return s._c=!1,s},Js=(e,t,n)=>{const s=e._ctx;for(const r in e){if(qs(r))continue;const n=e[r];if(h(n))t[r]=Gs(0,n,s);else if(null!=n){const e=zs(n);t[r]=()=>e}}},Zs=(e,t)=>{const n=zs(t);e.slots.default=()=>n},Xs=(e,t,n)=>{for(const s in t)!n&&qs(s)||(e[s]=t[s])},Qs=(e,t,n)=>{const s=e.slots=Vs();if(32&e.vnode.shapeFlag){const e=t.__;e&&P(s,"__",e,!0);const r=t._;r?(Xs(s,t,n),n&&P(s,"_",r,!0)):Js(t,s)}else t&&Zs(e,t)},Ys=(e,n,s)=>{const{vnode:r,slots:o}=e;let i=!0,l=t;if(32&r.shapeFlag){const e=n._;e?s&&1===e?i=!1:Xs(o,n,s):(i=!n.$stable,Js(n,o)),l=n}else n&&(Zs(e,n),l={default:1});if(i)for(const t in o)qs(t)||null!=l[t]||delete o[t]},er=function(e,t){t&&t.pendingBranch?f(e)?t.effects.push(...e):t.effects.push(e):(f(n=e)?qt.push(...n):zt&&-1===n.id?zt.splice(Gt+1,0,n):1&n.flags||(qt.push(n),n.flags|=1),Yt());var n};function tr(e){return function(e){V().__VUE__=!0;const{insert:r,remove:o,patchProp:i,createElement:l,createText:c,createComment:a,setText:p,setElementText:d,parentNode:h,nextSibling:v,setScopeId:g=s,insertStaticContent:m}=e,y=(e,t,n,s=null,r=null,o=null,i=void 0,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Rr(e,t)&&(s=Q(e),z(e,r,o,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:f}=t;switch(a){case kr:b(e,t,n,s);break;case Ar:x(e,t,n,s);break;case Er:null==e&&S(t,n,s,i);break;case wr:D(e,t,n,s,r,o,i,l,c);break;default:1&f?A(e,t,n,s,r,o,i,l,c):6&f?R(e,t,n,s,r,o,i,l,c):(64&f||128&f)&&a.process(e,t,n,s,r,o,i,l,c,ne)}null!=u&&r?Rn(u,e&&e.ref,o,t||e,!t):null==u&&e&&null!=e.ref&&Rn(e.ref,null,o,e,!0)},b=(e,t,n,s)=>{if(null==e)r(t.el=c(t.children),n,s);else{const n=t.el=e.el;t.children!==e.children&&p(n,t.children)}},x=(e,t,n,s)=>{null==e?r(t.el=a(t.children||""),n,s):t.el=e.el},S=(e,t,n,s)=>{[e.el,e.anchor]=m(e.children,t,n,s,e.el,e.anchor)},C=({el:e,anchor:t},n,s)=>{let o;for(;e&&e!==t;)o=v(e),r(e,n,s),e=o;r(t,n,s)},k=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=v(e),o(e),e=n;o(t)},A=(e,t,n,s,r,o,i,l,c)=>{"svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e?T(t,n,s,r,o,i,l,c):L(e,t,r,o,i,l,c)},T=(e,t,n,s,o,c,a,u)=>{let f,p;const{props:h,shapeFlag:v,transition:g,dirs:m}=e;if(f=e.el=l(e.type,c,h&&h.is,h),8&v?d(f,e.children):16&v&&M(e.children,f,null,s,o,nr(e,c),a,u),m&&un(e,null,s,"created"),F(f,e,e.scopeId,a,s),h){for(const e in h)"value"===e||w(e)||i(f,e,null,h[e],c,s);"value"in h&&i(f,"value",null,h.value,c),(p=h.onVnodeBeforeMount)&&Jr(p,s,e)}m&&un(e,null,s,"beforeMount");const _=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(o,g);_&&g.beforeEnter(f),r(f,t,n),((p=h&&h.onVnodeMounted)||_||m)&&er((()=>{p&&Jr(p,s,e),_&&g.enter(f),m&&un(e,null,s,"mounted")}),o)},F=(e,t,n,s,r)=>{if(n&&g(e,n),s)for(let o=0;o{for(let a=c;a{const a=n.el=e.el;let{patchFlag:u,dynamicChildren:f,dirs:p}=n;u|=16&e.patchFlag;const h=e.props||t,v=n.props||t;let g;if(s&&sr(s,!1),(g=v.onVnodeBeforeUpdate)&&Jr(g,s,n,e),p&&un(n,e,s,"beforeUpdate"),s&&sr(s,!0),(h.innerHTML&&null==v.innerHTML||h.textContent&&null==v.textContent)&&d(a,""),f?P(e.dynamicChildren,f,a,s,r,nr(n,o),l):c||W(e,n,a,null,s,r,nr(n,o),l,!1),u>0){if(16&u)$(a,h,v,s,o);else if(2&u&&h.class!==v.class&&i(a,"class",null,v.class,o),4&u&&i(a,"style",h.style,v.style,o),8&u){const e=n.dynamicProps;for(let t=0;t{g&&Jr(g,s,n,e),p&&un(n,e,s,"updated")}),r)},P=(e,t,n,s,r,o,i)=>{for(let l=0;l{if(n!==s){if(n!==t)for(const t in n)w(t)||t in s||i(e,t,n[t],null,o,r);for(const t in s){if(w(t))continue;const l=s[t],c=n[t];l!==c&&"value"!==t&&i(e,t,c,l,o,r)}"value"in s&&i(e,"value",n.value,s.value,o)}},D=(e,t,n,s,o,i,l,a,u)=>{const f=t.el=e?e.el:c(""),p=t.anchor=e?e.anchor:c("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=t;v&&(a=a?a.concat(v):v),null==e?(r(f,n,s),r(p,n,s),M(t.children||[],n,p,o,i,l,a,u)):d>0&&64&d&&h&&e.dynamicChildren?(P(e.dynamicChildren,h,n,o,i,l,a),(null!=t.key||o&&t===o.subTree)&&rr(e,t,!0)):W(e,t,n,p,o,i,l,a,u)},R=(e,t,n,s,r,o,i,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?r.ctx.activate(t,n,s,i,c):I(t,n,s,r,o,i,c):N(e,t,c)},I=(e,n,s,r,o,i,l)=>{const c=e.component=function(e,n,s){const r=e.type,o=(n?n.appContext:e.appContext)||Zr,i={uid:Xr++,vnode:e,type:r,parent:n,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ee(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(o.provides),ids:n?n.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Hs(r,o),emitsOptions:mr(r,o),emit:null,emitted:null,propsDefaults:t,inheritAttrs:r.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};i.ctx={_:i},i.root=n?n.root:i,i.emit=gr.bind(null,i),e.ce&&e.ce(i);return i}(e,r,o);if(In(e)&&(c.ctx.renderer=ne),function(e,t=!1,n=!1){t&&to(t);const{props:s,children:r}=e.vnode,o=ro(e);Ns(e,s,o,t),Qs(e,r,n||t);const i=o?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,gs);const{setup:s}=n;if(s){be();const n=e.setupContext=s.length>1?function(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,ao),slots:e.slots,emit:e.emit,expose:t}}(e):null,r=no(e),o=Ut(s,e,0,[e.props,n]),i=_(o);if(xe(),r(),!i&&!e.sp||Vn(e)||Dn(e),i){if(o.then(so,so),t)return o.then((n=>{lo(e,n,t)})).catch((t=>{Wt(t,e,0)}));e.asyncDep=o}else lo(e,o,t)}else co(e,t)}(e,t):void 0;t&&to(!1)}(c,!1,l),c.asyncDep){if(o&&o.registerDep(c,U,l),!e.el){const e=c.subTree=Ur(Ar);x(null,e,n,s)}}else U(c,e,n,s,o,i,l)},N=(e,t,n)=>{const s=t.component=e.component;if(function(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!r&&!l||l&&l.$stable)||s!==i&&(s?!i||Sr(s,i,a):!!i);if(1024&c)return!0;if(16&c)return s?Sr(s,i,a):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;t{const l=()=>{if(e.isMounted){let{next:t,bu:n,u:s,parent:c,vnode:a}=e;{const n=or(e);if(n)return t&&(t.el=a.el,B(e,t,i)),void n.asyncDep.then((()=>{e.isUnmounted||l()}))}let u,f=t;sr(e,!1),t?(t.el=a.el,B(e,t,i)):t=a,n&&j(n),(u=t.props&&t.props.onVnodeBeforeUpdate)&&Jr(u,c,t,a),sr(e,!0);const p=yr(e),d=e.subTree;e.subTree=p,y(d,p,h(d.el),Q(d),e,r,o),t.el=p.el,null===f&&function({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s!==e)break;(e=t.vnode).el=n,t=t.parent}}(e,p.el),s&&er(s,r),(u=t.props&&t.props.onVnodeUpdated)&&er((()=>Jr(u,c,t,a)),r)}else{let i;const{el:l,props:c}=t,{bm:a,m:u,parent:f,root:p,type:d}=e,h=Vn(t);if(sr(e,!1),a&&j(a),!h&&(i=c&&c.onVnodeBeforeMount)&&Jr(i,f,t),sr(e,!0),l&&re){const t=()=>{e.subTree=yr(e),re(l,e.subTree,e,r,null)};h&&d.__asyncHydrate?d.__asyncHydrate(l,e,t):t()}else{p.ce&&!1!==p.ce._def.shadowRoot&&p.ce._injectChildStyle(d);const i=e.subTree=yr(e);y(null,i,n,s,e,r,o),t.el=i.el}if(u&&er(u,r),!h&&(i=c&&c.onVnodeMounted)){const e=t;er((()=>Jr(i,f,e)),r)}(256&t.shapeFlag||f&&Vn(f.vnode)&&256&f.vnode.shapeFlag)&&e.a&&er(e.a,r),e.isMounted=!0,t=n=s=null}};e.scope.on();const c=e.effect=new oe(l);e.scope.off();const a=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Qt(u),sr(e,!0),a()},B=(e,t,n)=>{t.component=e;const s=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=gt(r),[c]=e.propsOptions;let a=!1;if(!(s||i>0)||16&i){let s;Us(e,t,r,o)&&(a=!0);for(const o in l)t&&(u(t,o)||(s=O(o))!==o&&u(t,s))||(c?!n||void 0===n[o]&&void 0===n[s]||(r[o]=Bs(c,l,o,void 0,e,!0)):delete r[o]);if(o!==l)for(const e in o)t&&u(t,e)||(delete o[e],a=!0)}else if(8&i){const n=e.vnode.dynamicProps;for(let s=0;s{const a=e&&e.children,u=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void K(a,f,n,s,r,o,i,l,c);if(256&p)return void H(a,f,n,s,r,o,i,l,c)}8&h?(16&u&&X(a,r,o),f!==a&&d(n,f)):16&u?16&h?K(a,f,n,s,r,o,i,l,c):X(a,r,o,!0):(8&u&&d(n,""),16&h&&M(f,n,s,r,o,i,l,c))},H=(e,t,s,r,o,i,l,c,a)=>{t=t||n;const u=(e=e||n).length,f=t.length,p=Math.min(u,f);let d;for(d=0;df?X(e,o,i,!0,!1,p):M(t,s,r,o,i,l,c,a,p)},K=(e,t,s,r,o,i,l,c,a)=>{let u=0;const f=t.length;let p=e.length-1,d=f-1;for(;u<=p&&u<=d;){const n=e[u],r=t[u]=a?qr(t[u]):Kr(t[u]);if(!Rr(n,r))break;y(n,r,s,null,o,i,l,c,a),u++}for(;u<=p&&u<=d;){const n=e[p],r=t[d]=a?qr(t[d]):Kr(t[d]);if(!Rr(n,r))break;y(n,r,s,null,o,i,l,c,a),p--,d--}if(u>p){if(u<=d){const e=d+1,n=ed)for(;u<=p;)z(e[u],o,i,!0),u++;else{const h=u,v=u,g=new Map;for(u=v;u<=d;u++){const e=t[u]=a?qr(t[u]):Kr(t[u]);null!=e.key&&g.set(e.key,u)}let m,_=0;const b=d-v+1;let x=!1,S=0;const C=new Array(b);for(u=0;u=b){z(n,o,i,!0);continue}let r;if(null!=n.key)r=g.get(n.key);else for(m=v;m<=d;m++)if(0===C[m-v]&&Rr(n,t[m])){r=m;break}void 0===r?z(n,o,i,!0):(C[r-v]=u+1,r>=S?S=r:x=!0,y(n,t[r],s,null,o,i,l,c,a),_++)}const w=x?function(e){const t=e.slice(),n=[0];let s,r,o,i,l;const c=e.length;for(s=0;s>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}o=n.length,i=n[o-1];for(;o-- >0;)n[o]=i,i=t[i];return n}(C):n;for(m=w.length-1,u=b-1;u>=0;u--){const e=v+u,n=t[e],p=e+1{const{el:l,type:c,transition:a,children:u,shapeFlag:f}=e;if(6&f)return void q(e.component.subTree,t,n,s);if(128&f)return void e.suspense.move(t,n,s);if(64&f)return void c.move(e,t,n,ne);if(c===wr){r(l,t,n);for(let e=0;ea.enter(l)),i);else{const{leave:s,delayLeave:i,afterLeave:c}=a,u=()=>{e.ctx.isUnmounted?o(l):r(l,t,n)},f=()=>{s(l,(()=>{u(),c&&c()}))};i?i(l,u,f):f()}else r(l,t,n)},z=(e,t,n,s=!1,r=!1)=>{const{type:o,props:i,ref:l,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:f,dirs:p,cacheIndex:d}=e;if(-2===f&&(r=!1),null!=l&&(be(),Rn(l,null,n,e,!0),xe()),null!=d&&(t.renderCache[d]=void 0),256&u)return void t.ctx.deactivate(e);const h=1&u&&p,v=!Vn(e);let g;if(v&&(g=i&&i.onVnodeBeforeUnmount)&&Jr(g,t,e),6&u)Z(e.component,n,s);else{if(128&u)return void e.suspense.unmount(n,s);h&&un(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,ne,s):a&&!a.hasOnce&&(o!==wr||f>0&&64&f)?X(a,t,n,!1,!0):(o===wr&&384&f||!r&&16&u)&&X(c,t,n),s&&G(e)}(v&&(g=i&&i.onVnodeUnmounted)||h)&&er((()=>{g&&Jr(g,t,e),h&&un(e,null,t,"unmounted")}),n)},G=e=>{const{type:t,el:n,anchor:s,transition:r}=e;if(t===wr)return void J(n,s);if(t===Er)return void k(e);const i=()=>{o(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:s}=r,o=()=>t(n,i);s?s(e.el,i,o):o()}else i()},J=(e,t)=>{let n;for(;e!==t;)n=v(e),o(e),e=n;o(t)},Z=(e,t,n)=>{const{bum:s,scope:r,job:o,subTree:i,um:l,m:c,a:a,parent:u,slots:{__:p}}=e;ir(c),ir(a),s&&j(s),u&&f(p)&&p.forEach((e=>{u.renderCache[e]=void 0})),r.stop(),o&&(o.flags|=8,z(i,e,t,n)),l&&er(l,t),er((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},X=(e,t,n,s=!1,r=!1,o=0)=>{for(let i=o;i{if(6&e.shapeFlag)return Q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=v(e.anchor||e.el),n=t&&t[fn];return n?v(n):t};let Y=!1;const te=(e,t,n)=>{null==e?t._vnode&&z(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),t._vnode=e,Y||(Y=!0,en(),tn(),Y=!1)},ne={p:y,um:z,m:q,r:G,mt:I,mc:M,pc:W,pbc:P,n:Q,o:e};let se,re;return{render:te,hydrate:se,createApp:js(te,se)}}(e)}function nr({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function sr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function rr(e,t,n=!1){const s=e.children,r=t.children;if(f(s)&&f(r))for(let o=0;o$s(lr);function ar(e,t){return fr(e,null,t)}function ur(e,t,n){return fr(e,t,n)}function fr(e,n,r=t){const{immediate:o,deep:i,flush:c,once:a}=r,u=l({},r),f=n&&o||!n&&"post"!==c;let p;if(io)if("sync"===c){const e=cr();p=e.__watcherHandles||(e.__watcherHandles=[])}else if(!f){const e=()=>{};return e.stop=s,e.resume=s,e.pause=s,e}const d=Qr;u.call=(e,t,n)=>Bt(e,d,t,n);let h=!1;"post"===c?u.scheduler=e=>{er(e,d&&d.suspense)}:"sync"!==c&&(h=!0,u.scheduler=(e,t)=>{t?e():Qt(e)}),u.augmentJob=e=>{n&&(e.flags|=4),h&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const v=It(e,n,u);return io&&(p?p.push(v):f&&v()),v}function pr(e,t,n){const s=this.proxy,r=v(e)?e.includes(".")?dr(s,e):()=>s[e]:e.bind(s,s);let o;h(t)?o=t:(o=t.handler,n=t);const i=no(this),l=fr(r,o.bind(s),n);return i(),l}function dr(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let a,u,f=t;return fr((()=>{const t=e[o];L(a,t)&&(a=t,c())}),null,{flush:"sync"}),{get:()=>(l(),s.get?s.get(a):a),set(e){const l=s.set?s.set(e):e;if(!(L(l,a)||f!==t&&L(e,f)))return;const p=r.vnode.props;p&&(n in p||o in p||i in p)&&(`onUpdate:${n}`in p||`onUpdate:${o}`in p||`onUpdate:${i}`in p)||(a=e,c()),r.emit(`update:${n}`,l),L(e,l)&&L(e,f)&&!L(l,u)&&c(),f=e,u=l}}}));return c[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?l||t:c,done:!1}:{done:!0}}},c}const vr=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${E(t)}Modifiers`]||e[`${O(t)}Modifiers`];function gr(e,n,...s){if(e.isUnmounted)return;const r=e.vnode.props||t;let o=s;const i=n.startsWith("update:"),l=i&&vr(r,n.slice(7));let c;l&&(l.trim&&(o=s.map((e=>v(e)?e.trim():e))),l.number&&(o=s.map($)));let a=r[c=M(n)]||r[c=M(E(n))];!a&&i&&(a=r[c=M(O(n))]),a&&Bt(a,e,6,o);const u=r[c+"Once"];if(u){if(e.emitted){if(e.emitted[c])return}else e.emitted={};e.emitted[c]=!0,Bt(u,e,6,o)}}function mr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(void 0!==r)return r;const o=e.emits;let i={},c=!1;if(!h(e)){const s=e=>{const n=mr(e,t,!0);n&&(c=!0,l(i,n))};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}return o||c?(f(o)?o.forEach((e=>i[e]=null)):l(i,o),m(e)&&s.set(e,i),i):(m(e)&&s.set(e,null),null)}function _r(e,t){return!(!e||!o(t))&&(t=t.slice(2).replace(/Once$/,""),u(e,t[0].toLowerCase()+t.slice(1))||u(e,O(t))||u(e,t))}function yr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:l,attrs:c,emit:a,render:u,renderCache:f,props:p,data:d,setupState:h,ctx:v,inheritAttrs:g}=e,m=ln(e);let _,y;try{if(4&n.shapeFlag){const e=r||s,t=e;_=Kr(u.call(t,e,f,p,h,d,v)),y=c}else{const e=t;0,_=Kr(e.length>1?e(p,{attrs:c,slots:l,emit:a}):e(p,null)),y=t.props?c:br(c)}}catch(x){Tr.length=0,Wt(x,e,1),_=Ur(Ar)}let b=_;if(y&&!1!==g){const e=Object.keys(y),{shapeFlag:t}=b;e.length&&7&t&&(o&&e.some(i)&&(y=xr(y,o)),b=Br(b,y,!1,!0))}return n.dirs&&(b=Br(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Pn(b,n.transition),_=b,ln(m),_}const br=e=>{let t;for(const n in e)("class"===n||"style"===n||o(n))&&((t||(t={}))[n]=e[n]);return t},xr=(e,t)=>{const n={};for(const s in e)i(s)&&s.slice(9)in t||(n[s]=e[s]);return n};function Sr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;const wr=Symbol.for("v-fgt"),kr=Symbol.for("v-txt"),Ar=Symbol.for("v-cmt"),Er=Symbol.for("v-stc"),Tr=[];let Or=null;function Fr(e=!1){Tr.push(Or=e?null:[])}let Mr=1;function Lr(e,t=!1){Mr+=e,e<0&&Or&&t&&(Or.hasOnce=!0)}function jr(e){return e.dynamicChildren=Mr>0?Or||n:null,Tr.pop(),Or=Tr[Tr.length-1]||null,Mr>0&&Or&&Or.push(e),e}function Pr(e,t,n,s,r,o){return jr(Nr(e,t,n,s,r,o,!0))}function $r(e,t,n,s,r){return jr(Ur(e,t,n,s,r,!0))}function Dr(e){return!!e&&!0===e.__v_isVNode}function Rr(e,t){return e.type===t.type&&e.key===t.key}const Vr=({key:e})=>null!=e?e:null,Ir=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?v(e)||bt(e)||h(e)?{i:rn,r:e,k:t,f:!!n}:e:null);function Nr(e,t=null,n=null,s=0,r=null,o=(e===wr?0:1),i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vr(t),ref:t&&Ir(t),scopeId:on,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:rn};return l?(zr(c,n),128&o&&e.normalize(c)):n&&(c.shapeFlag|=v(n)?8:16),Mr>0&&!i&&Or&&(c.patchFlag>0||6&o)&&32!==c.patchFlag&&Or.push(c),c}const Ur=function(e,t=null,n=null,s=0,r=null,o=!1){e&&e!==rs||(e=Ar);if(Dr(e)){const s=Br(e,t,!0);return n&&zr(s,n),Mr>0&&!o&&Or&&(6&s.shapeFlag?Or[Or.indexOf(e)]=s:Or.push(s)),s.patchFlag=-2,s}i=e,h(i)&&"__vccOpts"in i&&(e=e.__vccOpts);var i;if(t){t=function(e){return e?vt(e)||Is(e)?l({},e):e:null}(t);let{class:e,style:n}=t;e&&!v(e)&&(t.class=H(e)),m(n)&&(vt(n)&&!f(n)&&(n=l({},n)),t.style=I(n))}const c=v(e)?1:Cr(e)?128:pn(e)?64:m(e)?4:h(e)?2:0;return Nr(e,t,n,s,r,c,o,!0)};function Br(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,a=t?Gr(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Vr(a),ref:t&&t.ref?n&&o?f(o)?o.concat(Ir(t)):[o,Ir(t)]:Ir(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==wr?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Br(e.ssContent),ssFallback:e.ssFallback&&Br(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Pn(u,c.clone(u)),u}function Wr(e=" ",t=0){return Ur(kr,null,e,t)}function Hr(e="",t=!1){return t?(Fr(),$r(Ar,null,e)):Ur(Ar,null,e)}function Kr(e){return null==e||"boolean"==typeof e?Ur(Ar):f(e)?Ur(wr,null,e.slice()):Dr(e)?qr(e):Ur(kr,null,String(e))}function qr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Br(e)}function zr(e,t){let n=0;const{shapeFlag:s}=e;if(null==t)t=null;else if(f(t))n=16;else if("object"==typeof t){if(65&s){const n=t.default;return void(n&&(n._c&&(n._d=!1),zr(e,n()),n._c&&(n._d=!0)))}{n=32;const s=t._;s||Is(t)?3===s&&rn&&(1===rn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=rn}}else h(t)?(t={default:t,_ctx:rn},n=32):(t=String(t),64&s?(n=16,t=[Wr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Gr(...e){const t={};for(let n=0;nQr||rn;let eo,to;{const e=V(),t=(t,n)=>{let s;return(s=e[t])||(s=e[t]=[]),s.push(n),e=>{s.length>1?s.forEach((t=>t(e))):s[0](e)}};eo=t("__VUE_INSTANCE_SETTERS__",(e=>Qr=e)),to=t("__VUE_SSR_SETTERS__",(e=>io=e))}const no=e=>{const t=Qr;return eo(e),e.scope.on(),()=>{e.scope.off(),eo(t)}},so=()=>{Qr&&Qr.scope.off(),eo(null)};function ro(e){return 4&e.vnode.shapeFlag}let oo,io=!1;function lo(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:m(t)&&(e.setupState=Tt(t)),co(e,n)}function co(e,t,n){const r=e.type;if(!e.render){if(!t&&oo&&!r.render){const t=r.template||Cs(e).template;if(t){const{isCustomElement:n,compilerOptions:s}=e.appContext.config,{delimiters:o,compilerOptions:i}=r,c=l(l({isCustomElement:n,delimiters:o},s),i);r.render=oo(t,c)}}e.render=r.render||s}{const t=no(e);be();try{bs(e)}finally{xe(),t()}}}const ao={get:(e,t)=>(Me(e,0,""),e[t])};function uo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tt(mt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in hs?hs[n](e):void 0,has:(e,t)=>t in e||t in hs})):e.proxy}function fo(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}const po=(e,t)=>{const n=function(e,t,n=!1){let s,r;return h(e)?s=e:(s=e.get,r=e.set),new $t(s,r,n)}(e,0,io);return n};function ho(e,t,n){const s=arguments.length;return 2===s?m(t)&&!f(t)?Dr(t)?Ur(e,null,[t]):Ur(e,t):Ur(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):3===s&&Dr(n)&&(n=[n]),Ur(e,t,n))}const vo="3.5.17"; +/** +* @vue/runtime-dom v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let go;const mo="undefined"!=typeof window&&window.trustedTypes;if(mo)try{go=mo.createPolicy("vue",{createHTML:e=>e})}catch(vi){}const _o=go?e=>go.createHTML(e):e=>e,yo="undefined"!=typeof document?document:null,bo=yo&&yo.createElement("template"),xo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r="svg"===t?yo.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?yo.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?yo.createElement(e,{is:n}):yo.createElement(e);return"select"===e&&s&&null!=s.multiple&&r.setAttribute("multiple",s.multiple),r},createText:e=>yo.createTextNode(e),createComment:e=>yo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==o&&(r=r.nextSibling););else{bo.innerHTML=_o("svg"===s?`${e}`:"mathml"===s?`${e}`:e);const r=bo.content;if("svg"===s||"mathml"===s){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},So="transition",Co="animation",wo=Symbol("_vtc"),ko={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ao=l({},An,ko),Eo=(e=>(e.displayName="Transition",e.props=Ao,e))(((e,{slots:t})=>ho(On,function(e){const t={};for(const l in e)l in ko||(t[l]=e[l]);if(!1===e.css)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:u=i,appearToClass:f=c,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=function(e){if(null==e)return null;if(m(e))return[Fo(e.enter),Fo(e.leave)];{const t=Fo(e);return[t,t]}}(r),g=v&&v[0],_=v&&v[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:x,onLeave:S,onLeaveCancelled:C,onBeforeAppear:w=y,onAppear:k=b,onAppearCancelled:A=x}=t,E=(e,t,n,s)=>{e._enterCancelled=s,Lo(e,t?f:c),Lo(e,t?u:i),n&&n()},T=(e,t)=>{e._isLeaving=!1,Lo(e,p),Lo(e,h),Lo(e,d),t&&t()},O=e=>(t,n)=>{const r=e?k:b,i=()=>E(t,e,n);To(r,[t,i]),jo((()=>{Lo(t,e?a:o),Mo(t,e?f:c),Oo(r)||$o(t,s,g,i)}))};return l(t,{onBeforeEnter(e){To(y,[e]),Mo(e,o),Mo(e,i)},onBeforeAppear(e){To(w,[e]),Mo(e,a),Mo(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>T(e,t);Mo(e,p),e._enterCancelled?(Mo(e,d),Vo()):(Vo(),Mo(e,d)),jo((()=>{e._isLeaving&&(Lo(e,p),Mo(e,h),Oo(S)||$o(e,s,_,n))})),To(S,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),To(x,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),To(A,[e])},onLeaveCancelled(e){T(e),To(C,[e])}})}(e),t))),To=(e,t=[])=>{f(e)?e.forEach((e=>e(...t))):e&&e(...t)},Oo=e=>!!e&&(f(e)?e.some((e=>e.length>1)):e.length>1);function Fo(e){return D(e)}function Mo(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[wo]||(e[wo]=new Set)).add(t)}function Lo(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[wo];n&&(n.delete(t),n.size||(e[wo]=void 0))}function jo(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Po=0;function $o(e,t,n,s){const r=e._endId=++Po,o=()=>{r===e._endId&&s()};if(null!=n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=function(e,t){const n=window.getComputedStyle(e),s=e=>(n[e]||"").split(", "),r=s(`${So}Delay`),o=s(`${So}Duration`),i=Do(r,o),l=s(`${Co}Delay`),c=s(`${Co}Duration`),a=Do(l,c);let u=null,f=0,p=0;t===So?i>0&&(u=So,f=i,p=o.length):t===Co?a>0&&(u=Co,f=a,p=c.length):(f=Math.max(i,a),u=f>0?i>a?So:Co:null,p=u?u===So?o.length:c.length:0);const d=u===So&&/\b(transform|all)(,|$)/.test(s(`${So}Property`).toString());return{type:u,timeout:f,propCount:p,hasTransform:d}}(e,t);if(!i)return s();const a=i+"end";let u=0;const f=()=>{e.removeEventListener(a,p),o()},p=t=>{t.target===e&&++u>=c&&f()};setTimeout((()=>{uRo(t)+Ro(e[n]))))}function Ro(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Vo(){return document.body.offsetHeight}const Io=Symbol("_vod"),No=Symbol("_vsh"),Uo={beforeMount(e,{value:t},{transition:n}){e[Io]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):Bo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Bo(e,!0),s.enter(e)):s.leave(e,(()=>{Bo(e,!1)})):Bo(e,t))},beforeUnmount(e,{value:t}){Bo(e,t)}};function Bo(e,t){e.style.display=t?e[Io]:"none",e[No]=!t}const Wo=Symbol(""),Ho=/(^|;)\s*display\s*:/;const Ko=/\s*!important$/;function qo(e,t,n){if(f(n))n.forEach((n=>qo(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=function(e,t){const n=Go[t];if(n)return n;let s=E(t);if("filter"!==s&&s in e)return Go[t]=s;s=F(s);for(let r=0;r{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Bt(function(e,t){if(f(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=si(),n}(s,r);!function(e,t,n,s){e.addEventListener(t,n,s)}(e,n,i,l)}else i&&(!function(e,t,n,s){e.removeEventListener(t,n,s)}(e,n,i,l),o[t]=void 0)}}const ei=/(?:Once|Passive|Capture)$/;let ti=0;const ni=Promise.resolve(),si=()=>ti||(ni.then((()=>ti=0)),ti=Date.now());const ri=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const oi=["ctrl","shift","alt","meta"],ii={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>oi.some((n=>e[`${n}Key`]&&!t.includes(n)))},li=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(n,...s)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=n=>{if(!("key"in n))return;const s=O(n.key);return t.some((e=>e===s||ci[e]===s))?e(n):void 0})},ui=l({patchProp:(e,t,n,s,r,l)=>{const c="svg"===r;"class"===t?function(e,t,n){const s=e[wo];s&&(t=(t?[t,...s]:[...s]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,s,c):"style"===t?function(e,t,n){const s=e.style,r=v(n);let o=!1;if(n&&!r){if(t)if(v(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&qo(s,t,"")}else for(const e in t)null==n[e]&&qo(s,e,"");for(const e in n)"display"===e&&(o=!0),qo(s,e,n[e])}else if(r){if(t!==n){const e=s[Wo];e&&(n+=";"+e),s.cssText=n,o=Ho.test(n)}}else t&&e.removeAttribute("style");Io in e&&(e[Io]=o?s.display:"",e[No]&&(s.display="none"))}(e,n,s):o(t)?i(t)||Yo(e,t,0,s,l):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,s){if(s)return"innerHTML"===t||"textContent"===t||!!(t in e&&ri(t)&&h(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(ri(t)&&v(n))return!1;return t in e}(e,t,s,c))?(Xo(e,t,s),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||Zo(e,t,s,c,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&v(s)?("true-value"===t?e._trueValue=s:"false-value"===t&&(e._falseValue=s),Zo(e,t,s,c)):Xo(e,E(t),s,0,t)}},xo);let fi;function pi(){return fi||(fi=tr(ui))}const di=(...e)=>{pi().render(...e)},hi=(...e)=>{const t=pi().createApp(...e),{mount:n}=t;return t.mount=e=>{const s=function(e){if(v(e)){return document.querySelector(e)}return e}(e);if(!s)return;const r=t._component;h(r)||r.render||r.template||(r.template=s.innerHTML),1===s.nodeType&&(s.textContent="");const o=n(s,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};export{hi as $,Xt as A,Gr as B,te as C,bt as D,pt as E,wr as F,jt as G,$s as H,ne as I,se as J,Ds as K,Ft as L,Wr as M,ss as N,is as O,os as P,Eo as Q,K as R,us as S,bn as T,St as U,At as V,ar as W,ai as X,Uo as Y,di as Z,ho as _,Fr as a,Nr as b,Pr as c,Ur as d,kt as e,$r as f,_s as g,fs as h,po as i,ur as j,H as k,Hr as l,mt as m,I as n,zn as o,cn as p,J as q,xt as r,li as s,gt as t,hr as u,at as v,an as w,as as x,ut as y,Yr as z}; diff --git a/web_version/v2/assets/vueuse-CY3xMy5t.js b/web_version/v2/assets/vueuse-CY3xMy5t.js deleted file mode 100644 index 8290e6f..0000000 --- a/web_version/v2/assets/vueuse-CY3xMy5t.js +++ /dev/null @@ -1 +0,0 @@ -import{x as e,y as t,j as n,o,n as i,i as l,C as r,R as u,e as a,S as s}from"./vue-CYk3Qk0T.js";function c(n){return!!e()&&(t(n),!0)}const v="undefined"!=typeof window&&"undefined"!=typeof document;"undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope);const f=e=>null!=e,d=Object.prototype.toString,p=e=>"[object Object]"===d.call(e);function m(e){return Array.isArray(e)?e:[e]}function h(e,t=!0,n){l()?o(e,n):t?e():i(e)}const w=v?window:void 0;function y(e){var t;const n=u(e);return null!=(t=null==n?void 0:n.$el)?t:n}function b(...e){const t=[],o=()=>{t.forEach((e=>e())),t.length=0},i=r((()=>{const t=m(u(e[0])).filter((e=>null!=e));return t.every((e=>"string"!=typeof e))?t:void 0})),l=(s=([e,n,i,l])=>{if(o(),!(null==e?void 0:e.length)||!(null==n?void 0:n.length)||!(null==i?void 0:i.length))return;const r=p(l)?{...l}:l;t.push(...e.flatMap((e=>n.flatMap((t=>i.map((n=>((e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)))(e,t,n,r))))))))},v={flush:"post"},n((()=>{var t,n;return[null!=(n=null==(t=i.value)?void 0:t.map((e=>y(e))))?n:[w].filter((e=>null!=e)),m(u(i.value?e[1]:e[0])),m(a(i.value?e[2]:e[1])),u(i.value?e[3]:e[2])]}),s,{...v,immediate:!0}));var s,v;return c(o),()=>{l(),o()}}function g(e){const t=function(){const e=s(!1),t=l();return t&&o((()=>{e.value=!0}),t),e}();return r((()=>(t.value,Boolean(e()))))}function O(e,t={}){const{reset:o=!0,windowResize:i=!0,windowScroll:l=!0,immediate:a=!0,updateTiming:v="sync"}=t,d=s(0),p=s(0),O=s(0),S=s(0),j=s(0),x=s(0),z=s(0),A=s(0);function R(){const t=y(e);if(!t)return void(o&&(d.value=0,p.value=0,O.value=0,S.value=0,j.value=0,x.value=0,z.value=0,A.value=0));const n=t.getBoundingClientRect();d.value=n.height,p.value=n.bottom,O.value=n.left,S.value=n.right,j.value=n.top,x.value=n.width,z.value=n.x,A.value=n.y}function E(){"sync"===v?R():"next-frame"===v&&requestAnimationFrame((()=>R()))}return function(e,t,o={}){const{window:i=w,...l}=o;let a;const s=g((()=>i&&"ResizeObserver"in i)),v=()=>{a&&(a.disconnect(),a=void 0)},f=r((()=>{const t=u(e);return Array.isArray(t)?t.map((e=>y(e))):[y(t)]})),d=n(f,(e=>{if(v(),s.value&&i){a=new ResizeObserver(t);for(const t of e)t&&a.observe(t,l)}}),{immediate:!0,flush:"post"}),p=()=>{v(),d()};c(p)}(e,E),n((()=>y(e)),(e=>!e&&E())),function(e,t,o={}){const{window:i=w,...l}=o;let a;const s=g((()=>i&&"MutationObserver"in i)),v=()=>{a&&(a.disconnect(),a=void 0)},d=r((()=>{const t=m(u(e)).map(y).filter(f);return new Set(t)})),p=n((()=>d.value),(e=>{v(),s.value&&e.size&&(a=new MutationObserver(t),e.forEach((e=>a.observe(e,l))))}),{immediate:!0,flush:"post"}),h=()=>{p(),v()};c(h)}(e,E,{attributeFilter:["style","class"]}),l&&b("scroll",E,{capture:!0,passive:!0}),i&&b("resize",E,{passive:!0}),h((()=>{a&&E()})),{height:d,bottom:p,left:O,right:S,top:j,width:x,x:z,y:A,update:E}}export{b as a,O as u}; diff --git a/web_version/v2/assets/vueuse-CqzKat4r.js b/web_version/v2/assets/vueuse-CqzKat4r.js new file mode 100644 index 0000000..123e8eb --- /dev/null +++ b/web_version/v2/assets/vueuse-CqzKat4r.js @@ -0,0 +1 @@ +import{I as e,J as t,o as n,A as o,j as s,z as l,U as u,i,V as a,W as r,e as c}from"./vue-DAoaJb2i.js";function v(n){return!!e()&&(t(n),!0)}const d="undefined"!=typeof window&&"undefined"!=typeof document;"undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope);const f=e=>null!=e,p=Object.prototype.toString,m=e=>"[object Object]"===p.call(e),h=()=>{};function g(e){return Array.isArray(e)?e:[e]}function w(e,t=!0,s){l()?n(e,s):t?e():o(e)}const y=d?window:void 0;function b(e){var t;const n=a(e);return null!=(t=null==n?void 0:n.$el)?t:n}function O(...e){const t=[],n=()=>{t.forEach((e=>e())),t.length=0},o=i((()=>{const t=g(a(e[0])).filter((e=>null!=e));return t.every((e=>"string"!=typeof e))?t:void 0})),l=(u=([e,o,s,l])=>{if(n(),!(null==e?void 0:e.length)||!(null==o?void 0:o.length)||!(null==s?void 0:s.length))return;const u=m(l)?{...l}:l;t.push(...e.flatMap((e=>o.flatMap((t=>s.map((n=>((e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)))(e,t,n,u))))))))},r={flush:"post"},s((()=>{var t,n;return[null!=(n=null==(t=o.value)?void 0:t.map((e=>b(e))))?n:[y].filter((e=>null!=e)),g(a(o.value?e[1]:e[0])),g(c(o.value?e[2]:e[1])),a(o.value?e[3]:e[2])]}),u,{...r,immediate:!0}));var u,r;return v(n),()=>{l(),n()}}function x(e){const t=function(){const e=u(!1),t=l();return t&&n((()=>{e.value=!0}),t),e}();return i((()=>(t.value,Boolean(e()))))}function E(e,t,n={}){const{window:o=y,...l}=n;let u;const r=x((()=>o&&"MutationObserver"in o)),c=()=>{u&&(u.disconnect(),u=void 0)},d=i((()=>{const t=g(a(e)).map(b).filter(f);return new Set(t)})),p=s((()=>d.value),(e=>{c(),r.value&&e.size&&(u=new MutationObserver(t),e.forEach((e=>u.observe(e,l))))}),{immediate:!0,flush:"post"}),m=()=>{p(),c()};return v(m),{isSupported:r,stop:m,takeRecords:()=>null==u?void 0:u.takeRecords()}}function R(e,t,n={}){const{window:o=y,...l}=n;let u;const r=x((()=>o&&"ResizeObserver"in o)),c=()=>{u&&(u.disconnect(),u=void 0)},d=i((()=>{const t=a(e);return Array.isArray(t)?t.map((e=>b(e))):[b(t)]})),f=s(d,(e=>{if(c(),r.value&&o){u=new ResizeObserver(t);for(const t of e)t&&u.observe(t,l)}}),{immediate:!0,flush:"post"}),p=()=>{c(),f()};return v(p),{isSupported:r,stop:p}}function S(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:l=!0,immediate:i=!0,updateTiming:a="sync"}=t,r=u(0),c=u(0),v=u(0),d=u(0),f=u(0),p=u(0),m=u(0),h=u(0);function g(){const t=b(e);if(!t)return void(n&&(r.value=0,c.value=0,v.value=0,d.value=0,f.value=0,p.value=0,m.value=0,h.value=0));const o=t.getBoundingClientRect();r.value=o.height,c.value=o.bottom,v.value=o.left,d.value=o.right,f.value=o.top,p.value=o.width,m.value=o.x,h.value=o.y}function y(){"sync"===a?g():"next-frame"===a&&requestAnimationFrame((()=>g()))}return R(e,y),s((()=>b(e)),(e=>!e&&y())),E(e,y,{attributeFilter:["style","class"]}),l&&O("scroll",y,{capture:!0,passive:!0}),o&&O("resize",y,{passive:!0}),w((()=>{i&&y()})),{height:r,bottom:c,left:v,right:d,top:f,width:p,x:m,y:h,update:y}}function X(e,t={}){const{delayEnter:n=0,delayLeave:o=0,triggerOnRemoval:s=!1,window:l=y}=t,a=u(!1);let c;const d=e=>{const t=e?n:o;c&&(clearTimeout(c),c=void 0),t?c=setTimeout((()=>a.value=e),t):a.value=e};return l?(O(e,"mouseenter",(()=>d(!0)),{passive:!0}),O(e,"mouseleave",(()=>d(!1)),{passive:!0}),s&&function(e,t,n={}){const{window:o=y,document:s=(null==o?void 0:o.document),flush:l="sync"}=n;if(!o||!s)return h;let u;const i=e=>{null==u||u(),u=e},a=r((()=>{const n=b(e);if(n){const{stop:e}=E(s,(e=>{e.map((e=>[...e.removedNodes])).flat().some((e=>e===n||e.contains(n)))&&t(e)}),{window:o,childList:!0,subtree:!0});i(e)}}),{flush:l}),c=()=>{a(),i()};v(c)}(i((()=>b(e))),(()=>d(!1))),a):a}function Y(e,t,n={}){const{root:o,rootMargin:l="0px",threshold:r=0,window:c=y,immediate:d=!0}=n,p=x((()=>c&&"IntersectionObserver"in c)),m=i((()=>g(a(e)).map(b).filter(f)));let w=h;const O=u(d),E=p.value?s((()=>[m.value,b(o),O.value]),(([e,n])=>{if(w(),!O.value)return;if(!e.length)return;const o=new IntersectionObserver(t,{root:b(n),rootMargin:l,threshold:r});e.forEach((e=>e&&o.observe(e))),w=()=>{o.disconnect(),w=h}}),{immediate:d,flush:"post"}):h,R=()=>{w(),E(),O.value=!1};return v(R),{isSupported:p,isActive:O,pause(){w(),O.value=!1},resume(){O.value=!0},stop:R}}const z={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof MouseEvent?[e.movementX,e.movementY]:null};function M(e,t={}){const{windowResize:n=!0,windowScroll:o=!0,handleOutside:l=!0,window:i=y}=t,a=t.type||"page",{x:r,y:c,sourceType:v}=function(e={}){const{type:t="page",touch:n=!0,resetOnTouchEnds:o=!1,initialValue:s={x:0,y:0},window:l=y,target:i=l,scroll:a=!0,eventFilter:r}=e;let c=null,v=0,d=0;const f=u(s.x),p=u(s.y),m=u(null),h="function"==typeof t?t:z[t],g=e=>{const t=h(e);c=e,t&&([f.value,p.value]=t,m.value="mouse"),l&&(v=l.scrollX,d=l.scrollY)},w=e=>{if(e.touches.length>0){const t=h(e.touches[0]);t&&([f.value,p.value]=t,m.value="touch")}},b=()=>{if(!c||!l)return;const e=h(c);c instanceof MouseEvent&&e&&(f.value=e[0]+l.scrollX-v,p.value=e[1]+l.scrollY-d)},x=()=>{f.value=s.x,p.value=s.y},E=r?e=>r((()=>g(e)),{}):e=>g(e),R=r?e=>r((()=>w(e)),{}):e=>w(e),S=r?()=>r((()=>b()),{}):()=>b();if(i){const e={passive:!0};O(i,["mousemove","dragover"],E,e),n&&"movement"!==t&&(O(i,["touchstart","touchmove"],R,e),o&&O(i,"touchend",x,e)),a&&"page"===t&&O(l,"scroll",S,e)}return{x:f,y:p,sourceType:m}}(t),d=u(null!=e?e:null==i?void 0:i.document.body),f=u(0),p=u(0),m=u(0),h=u(0),g=u(0),x=u(0),S=u(!0);function X(){if(!i)return;const e=b(d);if(!(e&&e instanceof Element))return;const{left:t,top:n,width:o,height:s}=e.getBoundingClientRect();m.value=t+("page"===a?i.pageXOffset:0),h.value=n+("page"===a?i.pageYOffset:0),g.value=s,x.value=o;const u=r.value-m.value,v=c.value-h.value;S.value=0===o||0===s||u<0||v<0||u>o||v>s,l&&(f.value=u,p.value=v)}const Y=[];if(w((()=>{X()})),i){const{stop:e}=R(d,X),{stop:t}=E(d,X,{attributeFilter:["style","class"]}),l=s([d,r,c],X);Y.push(e,t,l),O(document,"mouseleave",(()=>S.value=!0),{passive:!0}),o&&Y.push(O("scroll",X,{capture:!0,passive:!0})),n&&Y.push(O("resize",X,{passive:!0}))}return{x:r,y:c,sourceType:v,elementX:f,elementY:p,elementPositionX:m,elementPositionY:h,elementHeight:g,elementWidth:x,isOutside:S,stop:function(){Y.forEach((e=>e())),Y.length=0}}}export{Y as a,M as b,X as c,S as d,O as u}; diff --git a/web_version/v2/easyuse.js b/web_version/v2/easyuse.js index 3b2ac39..4bfa3c9 100644 --- a/web_version/v2/easyuse.js +++ b/web_version/v2/easyuse.js @@ -1,2 +1,2 @@ -!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('.easyuse-prompt-await-select .p-select-label{font-size:12px!important}.easyuse-prompt-await-select .p-select-dropdown{width:1.5rem!important}.easyuse-prompt-await-select .p-select-dropdown svg{width:12px!important;height:12px!important}.easyuse-multiselect{font-size:12px;padding:0 15px;--p-chip-remove-icon-size: .75rem;--p-chip-remove-icon-focus-ring-width: var(--p-focus-ring-width);--p-chip-remove-icon-focus-ring-style: var(--p-focus-ring-style);--p-chip-remove-icon-focus-ring-color: var(--p-focus-ring-color);--p-chip-remove-icon-focus-ring-offset: var(--p-focus-ring-offset);--p-chip-remove-icon-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-chip-icon-size: .75rem;--p-chip-image-width: 2rem;--p-chip-image-height: 2rem;--p-chip-border-radius: 16px;--p-chip-padding-x: .25rem;--p-chip-padding-y: .5rem;--p-chip-gap: .25rem;--p-chip-transition-duration: var(--p-transition-duration);--p-chip-remove-icon-color: var(--input-text);--p-chip-icon-color: var(--input-text);--p-chip-background: var(--content-bg);--p-chip-color: var(--input-text);--p-checkbox-icon-size: .875rem;--p-checkbox-icon-color: var(--p-form-field-color);--p-checkbox-icon-checked-color: var(--p-primary-contrast-color);--p-checkbox-icon-checked-hover-color: var(--p-primary-contrast-color);--p-checkbox-icon-disabled-color: var(--p-form-field-disabled-color);--p-checkbox-icon-lg-size: 1rem;--p-checkbox-icon-sm-size: .75rem;--p-checkbox-border-radius: var(--p-border-radius-sm);--p-checkbox-width: 1rem;--p-checkbox-height: 1rem;--p-checkbox-background: var(--p-form-field-background);--p-checkbox-checked-background: var(--p-primary-color);--p-checkbox-checked-hover-background: var(--p-primary-hover-color);--p-checkbox-disabled-background: var(--p-form-field-disabled-background);--p-checkbox-filled-background: var(--p-form-field-filled-background);--p-checkbox-border-color: var(--p-form-field-border-color);--p-checkbox-hover-border-color: var(--p-form-field-hover-border-color);--p-checkbox-focus-border-color: var(--p-form-field-border-color);--p-checkbox-checked-border-color: var(--p-primary-color);--p-checkbox-checked-hover-border-color: var(--p-primary-hover-color);--p-checkbox-checked-focus-border-color: var(--p-primary-color);--p-checkbox-checked-disabled-border-color: var(--p-form-field-border-color);--p-checkbox-invalid-border-color: var(--p-form-field-invalid-border-color);--p-checkbox-shadow: var(--p-form-field-shadow);--p-checkbox-transition-duration: var(--p-form-field-transition-duration);--p-checkbox-lg-width: 1.5rem;--p-checkbox-lg-height: 1.5rem;--p-checkbox-sm-width: 1rem;--p-checkbox-sm-height: 1rem;--p-checkbox-focus-ring-width: var(--p-focus-ring-width);--p-checkbox-focus-ring-style: var(--p-focus-ring-style);--p-checkbox-focus-ring-color: var(--p-focus-ring-color);--p-checkbox-focus-ring-offset: var(--p-focus-ring-offset);--p-checkbox-focus-ring-shadow: var(--p-focus-ring-shadow);--p-multiselect-empty-message-padding: var(--p-list-option-padding);--p-multiselect-clear-icon-color: var(--p-form-field-icon-color);--p-multiselect-chip-border-radius: var(--p-border-radius-sm);--p-multiselect-option-group-background: var(--p-list-option-group-background);--p-multiselect-option-group-color: var(--p-list-option-group-color);--p-multiselect-option-group-font-weight: var(--p-list-option-group-font-weight);--p-multiselect-option-group-padding: var(--p-list-option-group-padding);--p-multiselect-option-focus-background: var(--p-list-option-focus-background);--p-multiselect-option-selected-background: var(--p-list-option-selected-background);--p-multiselect-option-selected-focus-background: var(--p-list-option-selected-focus-background);--p-multiselect-option-color: var(--p-list-option-color);--p-multiselect-option-focus-color: var(--p-list-option-focus-color);--p-multiselect-option-selected-color: var(--p-list-option-selected-color);--p-multiselect-option-selected-focus-color: var(--p-list-option-selected-focus-color);--p-multiselect-option-padding: .25rem;--p-multiselect-option-border-radius: var(--p-list-option-border-radius);--p-multiselect-option-gap: .5rem;--p-multiselect-list-padding: var(--p-list-padding);--p-multiselect-list-gap: var(--p-list-gap);--p-multiselect-list-header-padding: .25rem;--p-multiselect-overlay-background: var(--p-overlay-select-background);--p-multiselect-overlay-border-color: var(--p-overlay-select-border-color);--p-multiselect-overlay-border-radius: var(--p-overlay-select-border-radius);--p-multiselect-overlay-color: var(--p-overlay-select-color);--p-multiselect-overlay-shadow: var(--p-overlay-select-shadow);--p-multiselect-dropdown-width: 1.25rem;--p-multiselect-dropdown-color: var(--input-text);--p-multiselect-background: var(--comfy-input-bg);--p-multiselect-disabled-background: var(--p-form-field-disabled-background);--p-multiselect-filled-background: var(--p-form-field-filled-background);--p-multiselect-filled-hover-background: var(--p-form-field-filled-hover-background);--p-multiselect-filled-focus-background: var(--p-form-field-filled-focus-background);--p-multiselect-border-color: var(--border-color);--p-multiselect-hover-border-color: var(--border-color);--p-multiselect-focus-border-color: var(--border-color);--p-multiselect-invalid-border-color: var(--p-form-field-invalid-border-color);--p-multiselect-color: var(--p-form-field-color);--p-multiselect-disabled-color: var(--p-form-field-disabled-color);--p-multiselect-placeholder-color:var(--descrip-text);--p-multiselect-invalid-placeholder-color: var(--p-form-field-invalid-placeholder-color);--p-multiselect-shadow: var(--p-form-field-shadow);--p-multiselect-padding-x: 8px;--p-multiselect-padding-y: 2px;--p-multiselect-border-radius: 10px;--p-multiselect-transition-duration: var(--p-form-field-transition-duration);--p-multiselect-lg-font-size: var(--p-form-field-lg-font-size);--p-multiselect-lg-padding-x: var(--p-form-field-lg-padding-x);--p-multiselect-lg-padding-y: var(--p-form-field-lg-padding-y);--p-multiselect-sm-font-size: var(--p-form-field-sm-font-size);--p-multiselect-sm-padding-x: var(--p-form-field-sm-padding-x);--p-multiselect-sm-padding-y: var(--p-form-field-sm-padding-y);--p-multiselect-focus-ring-width: var(--p-form-field-focus-ring-width);--p-multiselect-focus-ring-style: var(--p-form-field-focus-ring-style);--p-multiselect-focus-ring-color: var(--p-form-field-focus-ring-color);--p-multiselect-focus-ring-offset: var(--p-form-field-focus-ring-offset);--p-multiselect-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-icon-size: .7rem;--p-inputtext-padding-y: .15rem;--p-inputtext-padding-x: .25rem}.easyuse-multiselect .p-multiselect-list{flex-wrap:wrap;flex-direction:row}.comfyui-easyuse .easyuse-multiselect{font-size:11px;--p-multiselect-padding-y: 2px;padding:0 10px;--p-multiselect-border-radius: var(--p-form-field-border-radius);--p-multiselect-placeholder-color: #d4d4d8;--p-multiselect-dropdown-color: var(--input-text);--p-multiselect-border-color: var(--p-form-field-border-color);--p-multiselect-hover-border-color: var(--p-form-field-hover-border-color);--p-multiselect-focus-border-color: var(--p-form-field-focus-border-color)}\n@charset "UTF-8";.dom-widget[data-v-f8c9efe3]>*{@apply h-full w-full;}.easyuse-model-info{color:#fff;max-width:90vw;font-family:var(--font-family)}.easyuse-model-content{display:flex;flex-direction:column;overflow:hidden}.easyuse-model-header{margin:0 0 15px}.easyuse-model-header-remark{display:flex;align-items:center;margin-top:5px}.easyuse-model-info h2{text-align:left;margin:0}.easyuse-model-info h5{text-align:left;margin:0 15px 0 0;font-weight:400;color:var(--descrip-text)}.easyuse-model-info p{margin:5px 0}.easyuse-model-info a{color:var(--theme-color-light)}.easyuse-model-info a:hover{text-decoration:underline}.easyuse-model-tags-list{display:flex;flex-wrap:wrap;list-style:none;gap:10px;max-height:200px;overflow:auto;margin:10px 0;padding:0}.easyuse-model-tag{background-color:var(--comfy-input-bg);border:2px solid var(--border-color);color:var(--input-text);display:flex;align-items:center;gap:5px;border-radius:5px;padding:2px 5px;cursor:pointer}.easyuse-model-tag--selected span:before{content:"✅";position:absolute;background-color:var(--theme-color-light);left:0;top:0;right:0;bottom:0;text-align:center}.easyuse-model-tag:hover{border:2px solid var(--theme-color-light)}.easyuse-model-tag p{margin:0}.easyuse-model-tag span{text-align:center;border-radius:5px;background-color:var(--theme-color-light);padding:2px;position:relative;min-width:20px;overflow:hidden;color:#fff}.easyuse-model-metadata .comfy-modal-content{max-width:100%}.easyuse-model-metadata label{margin-right:1ch;color:#ccc}.easyuse-model-metadata span{color:var(--theme-color-light)}.easyuse-preview{max-width:660px;margin-right:15px;position:relative}.easyuse-preview-group{position:relative;overflow:hidden;border-radius:.5rem;width:660px}.easyuse-preview-list{display:flex;flex-wrap:nowrap;width:100%;transition:all .5s ease-in-out}.easyuse-preview-list.no-transition{transition:none}.easyuse-preview-slide{display:flex;flex-basis:calc(50% - 5px);flex-grow:0;flex-shrink:0;position:relative;justify-content:center;align-items:center;padding-right:5px;padding-left:0}.easyuse-preview-slide:nth-child(2n){padding-left:5px;padding-right:0}.easyuse-preview-slide-content{position:relative;min-height:150px;width:100%}.easyuse-preview-slide-content .save{position:absolute;right:6px;z-index:12;bottom:6px;display:flex;align-items:center;height:26px;padding:0 9px;color:var(--input-text);font-size:12px;line-height:26px;background:#00000080;border-radius:13px;cursor:pointer;min-width:80px;text-align:center}.easyuse-preview-slide-content .save:hover{filter:brightness(120%);will-change:auto}.easyuse-preview-slide-content img{border-radius:14px;object-position:center center;max-width:100%;max-height:700px;border-style:none;vertical-align:middle}.easyuse-preview button{position:absolute;z-index:10;top:50%;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:15px;border:1px solid rgba(66,63,78,.15);background-color:#423f4e80;color:#fffc;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transform:translateY(-50%)}.easyuse-preview button.left{left:10px}.easyuse-preview button.right{right:10px}.easyuse-model-detail{margin-top:16px;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;width:300px}.easyuse-model-detail-head{height:40px;padding:0 10px;font-weight:500;font-size:14px;font-style:normal;line-height:40px}.easyuse-model-detail-body{box-sizing:border-box;font-size:12px}.easyuse-model-detail-item{display:flex;justify-content:flex-start;border-top:1px solid var(--border-color)}.easyuse-model-detail-item-label{flex-shrink:0;width:88px;padding-top:5px;padding-bottom:5px;padding-left:10px;border-right:1px solid var(--border-color);color:var(--input-text);font-weight:400}.easyuse-model-detail-item-value{display:flex;flex-wrap:wrap;padding:5px 10px;color:var(--input-text)}.easyuse-model-detail-textarea{border-top:1px solid var(--border-color);padding:10px;height:100px;overflow-y:auto;font-size:12px}.easyuse-model-detail-textarea textarea{width:100%;height:100%;border:0;background-color:transparent;color:var(--input-text)}.easyuse-model-detail-textarea textarea::placeholder{color:var(--descrip-text)}.easyuse-model-detail-textarea.empty{display:flex;justify-content:center;align-items:center;color:var(--descrip-text)}.easyuse-model-notes{background-color:#00000040;padding:5px;margin-top:5px}.easyuse-model-notes:empty{display:none}.easyuse-account-user{font-size:10px;color:var(--descrip-text);text-align:center}.easyuse-account-user-info{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;cursor:pointer}.easyuse-account-user-info .user{display:flex;align-items:center}.easyuse-account-user-info .edit{padding:5px 10px;background:var(--comfy-menu-bg);border-radius:4px}.easyuse-account-user-info:hover{filter:brightness(110%)}.easyuse-account-user-info h5{margin:0;font-size:10px;text-align:left}.easyuse-account-user-info h6{margin:0;font-size:8px;text-align:left;font-weight:300}.easyuse-account-user-info .remark{margin-top:4px}.easyuse-account-user-info .avatar{width:36px;height:36px;background:var(--comfy-input-bg);border-radius:50%;margin-right:5px;display:flex;justify-content:center;align-items:center;font-size:16px;overflow:hidden}.easyuse-account-user-info .avatar img{width:100%;height:100%}.easyuse-account-dialog{width:600px}.easyuse-account-dialog-main a,.easyuse-account-dialog-main a:visited{font-weight:400;color:var(--theme-color-light)}.easyuse-account-dialog-item{display:flex;justify-content:flex-start;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.easyuse-account-dialog-item input{padding:5px;margin-right:5px}.easyuse-account-dialog-item input.key{flex:1}.easyuse-account-dialog-item button{cursor:pointer;margin-left:5px!important;padding:5px!important;font-size:16px!important}.easyuse-account-dialog-item button:hover{filter:brightness(120%)}.easyuse-account-dialog-item button.choose{background:var(--theme-color)}.easyuse-account-dialog-item button.delete{background:var(--error-color)}.easy-dropdown,.easy-nested-dropdown{position:relative;box-sizing:border-box;background-color:#171717;box-shadow:0 4px 4px #ffffff40;padding:0;margin:0;list-style:none;z-index:1000;overflow:visible;max-height:fit-content;max-width:fit-content}.easy-dropdown{position:absolute;border-radius:0}.easy-dropdown li.item,.easy-nested-dropdown li.item{font-weight:400;min-width:max-content}.easy-dropdown li.folder,.easy-nested-dropdown li.folder{cursor:default;position:relative;border-right:3px solid cyan}.easy-dropdown li.folder:after,.easy-nested-dropdown li.folder:after{content:">";position:absolute;right:2px;font-weight:400}.easy-dropdown li,.easy-nested-dropdown li{padding:4px 10px;cursor:pointer;font-family:system-ui;font-size:.7rem;position:relative}.easy-nested-dropdown{position:absolute;top:0;left:100%;margin:0;border:none;display:none}.easy-dropdown li.selected>.easy-nested-dropdown,.easy-nested-dropdown li.selected>.easy-nested-dropdown{display:block;border:none}.easy-dropdown li.selected,.easy-nested-dropdown li.selected{background-color:#e5e5e5;border:none}#crystools-root-easyuse{flex-direction:row;justify-content:center;flex-shrink:1;width:min-content;min-width:max-content;height:100%;margin:0 auto}#crystools-root-easyuse .crystools-monitor-container{width:100%;cursor:crosshair;display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-end;gap:5px;height:100%}#crystools-root-easyuse .crystools-monitor-container .crystools-monitor{background-color:var(--comfy-input-bg);position:relative;align-items:center;flex-direction:row;width:40px;height:100%}#crystools-root-easyuse .crystools-monitor-container .crystools-monitor .crystools-text{font-size:10px;text-align:right;margin-left:3px;position:absolute;font-weight:100;bottom:2px;z-index:10}#crystools-root-easyuse .crystools-monitor-container .crystools-content{position:relative;height:100%}#crystools-root-easyuse .crystools-monitor-container .crystools-slider{position:absolute;height:100%;width:0;box-shadow:inset 2px 2px 10px #0003}#crystools-root-easyuse .crystools-monitor-container .crystools-label{position:relative;width:100%;color:var(--input-text);font-weight:500;font-size:11px;left:2px;top:4px;text-align:right}:root{--theme-color:var(--p-primary-color, #60a5fa);--theme-color-light: var(--p-primary-hover-color, #93c5fd);--success-color: #52c41a;--error-color: #ff4d4f;--warning-color: #faad14;--font-family: Inter, -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif;--p-inputtext-background: var(--p-form-field-background);--p-inputtext-disabled-background: var(--p-form-field-disabled-background);--p-inputtext-filled-background: var(--p-form-field-filled-background);--p-inputtext-filled-focus-background: var(--p-form-field-filled-focus-background);--p-inputtext-border-color: var(--p-form-field-border-color);--p-inputtext-hover-border-color: var(--p-form-field-hover-border-color);--p-inputtext-focus-border-color: var(--p-form-field-focus-border-color);--p-inputtext-invalid-border-color: var(--p-form-field-invalid-border-color);--p-inputtext-color: var(--p-form-field-color);--p-inputtext-disabled-color: var(--p-form-field-disabled-color);--p-inputtext-placeholder-color: var(--p-form-field-placeholder-color);--p-inputtext-shadow: var(--p-form-field-shadow);--p-inputtext-padding-x: var(--p-form-field-padding-x);--p-inputtext-padding-y: var(--p-form-field-padding-y);--p-inputtext-border-radius: var(--p-form-field-border-radius);--p-inputtext-focus-ring-width: var(--p-form-field-focus-ring-width);--p-inputtext-focus-ring-style: var(--p-form-field-focus-ring-style);--p-inputtext-focus-ring-color: var(--p-form-field-focus-ring-color);--p-inputtext-focus-ring-offset: var(--p-form-field-focus-ring-offset);--p-inputtext-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-inputtext-transition-duration: var(--p-form-field-transition-duration);--p-inputtext-sm-font-size: .875rem;--p-inputtext-sm-padding-x: .625rem;--p-inputtext-sm-padding-y: .375rem;--p-inputtext-lg-font-size: 1.125rem;--p-inputtext-lg-padding-x: .875rem;--p-inputtext-lg-padding-y: .625rem;--p-tooltip-max-width: 12.5rem;--p-tooltip-gutter: .25rem;--p-tooltip-shadow: var(--p-overlay-popover-shadow);--p-tooltip-padding: .5rem .75rem;--p-tooltip-border-radius: var(--p-overlay-popover-border-radius);--p-tooltip-background: var(--p-surface-700);--p-tooltip-color: var(--p-surface-0)}.comfyui-easyuse-theme,.comfyui-easyuse-primary{color:var(--theme-color-light)}.comfyui-easyuse-theme.point:hover,.comfyui-easyuse-primary.point:hover{opacity:.8}.comfyui-easyuse-success{color:var(--success-color)}.comfyui-easyuse-success.point:hover{opacity:.8}.comfyui-easyuse-error{color:var(--error-color)}.comfyui-easyuse-error.point:hover{opacity:.8}.comfyui-easyuse-warning,.comfyui-easyuse--warn{color:var(--warning-color)}.comfyui-easyuse-warning.point:hover,.comfyui-easyuse--warn.point:hover{opacity:.8}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-3\\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-\\[0\\.28rem\\]{gap:.28rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-6{row-gap:1.5rem}@media (min-width: 576px){.sm\\:col-span-4{grid-column:span 4/span 4}.sm\\:col-span-6{grid-column:span 6/span 6}.sm\\:ml-8{margin-left:2rem}.sm\\:mt-0{margin-top:0}.sm\\:flex{display:flex}.sm\\:h-60{height:15rem}.sm\\:\\!w-64{width:16rem!important}.sm\\:w-40{width:10rem}.sm\\:w-44{width:11rem}.sm\\:w-56{width:14rem}.sm\\:w-60{width:15rem}.sm\\:w-64{width:16rem}.sm\\:w-80{width:20rem}.sm\\:w-96{width:24rem}.sm\\:w-\\[30rem\\]{width:30rem}.sm\\:w-auto{width:auto}.sm\\:min-w-\\[30rem\\]{min-width:30rem}.sm\\:flex-row{flex-direction:row}.sm\\:flex-col{flex-direction:column}.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:items-start{align-items:flex-start}.sm\\:items-end{align-items:flex-end}.sm\\:items-center{align-items:center}.sm\\:justify-center{justify-content:center}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-2{gap:.5rem}.sm\\:p-20{padding:5rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.sm\\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.sm\\:pt-32{padding-top:8rem}.sm\\:text-left{text-align:left}.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\\:-bottom-12{bottom:-3rem}.md\\:-bottom-28{bottom:-7rem}.md\\:-bottom-8{bottom:-2rem}.md\\:-bottom-\\[26rem\\]{bottom:-26rem}.md\\:-left-12{left:-3rem}.md\\:-left-28{left:-7rem}.md\\:-left-32{left:-8rem}.md\\:-left-4{left:-1rem}.md\\:-left-48{left:-12rem}.md\\:-left-\\[22rem\\]{left:-22rem}.md\\:bottom-0{bottom:0}.md\\:left-10{left:2.5rem}.md\\:left-\\[32rem\\]{left:32rem}.md\\:left-\\[42rem\\]{left:42rem}.md\\:top-1\\/2{top:50%}.md\\:top-32{top:8rem}.md\\:top-8{top:2rem}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:col-span-4{grid-column:span 4/span 4}.md\\:col-span-6{grid-column:span 6/span 6}.md\\:ml-auto{margin-left:auto}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:h-\\[20rem\\]{height:20rem}.md\\:h-\\[32rem\\]{height:32rem}.md\\:\\!w-80{width:20rem!important}.md\\:w-2\\/12{width:16.666667%}.md\\:w-40{width:10rem}.md\\:w-5\\/12{width:41.666667%}.md\\:w-56{width:14rem}.md\\:w-6\\/12{width:50%}.md\\:w-60{width:15rem}.md\\:w-8\\/12{width:66.666667%}.md\\:w-80{width:20rem}.md\\:w-\\[100rem\\]{width:100rem}.md\\:w-\\[26rem\\]{width:26rem}.md\\:w-\\[30rem\\]{width:30rem}.md\\:w-\\[50rem\\]{width:50rem}.md\\:w-\\[52rem\\]{width:52rem}.md\\:w-\\[60rem\\]{width:60rem}.md\\:w-\\[95rem\\]{width:95rem}.md\\:w-screen{width:100vw}.md\\:flex-initial{flex:0 1 auto}.md\\:-translate-y-1\\/2{--tw-translate-y: -50% }.md\\:-translate-y-1\\/2,.md\\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:translate-x-0{--tw-translate-x: 0px }.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:flex-col{flex-direction:column}.md\\:items-end{align-items:flex-end}.md\\:items-center{align-items:center}.md\\:justify-start{justify-content:flex-start}.md\\:justify-center{justify-content:center}.md\\:gap-20{gap:5rem}.md\\:gap-4{gap:1rem}.md\\:p-5{padding:1.25rem}.md\\:p-8{padding:2rem}}@media (min-width: 992px){.lg\\:left-20{left:5rem}.lg\\:left-\\[36rem\\]{left:36rem}.lg\\:left-\\[50rem\\]{left:50rem}.lg\\:col-span-1{grid-column:span 1/span 1}.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:col-span-4{grid-column:span 4/span 4}.lg\\:col-span-6{grid-column:span 6/span 6}.lg\\:mb-0{margin-bottom:0}.lg\\:mt-0{margin-top:0}.lg\\:mt-20{margin-top:5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:h-10{height:2.5rem}.lg\\:h-32{height:8rem}.lg\\:h-\\[28rem\\]{height:28rem}.lg\\:\\!w-\\[30rem\\]{width:30rem!important}.lg\\:w-3\\/12{width:25%}.lg\\:w-32{width:8rem}.lg\\:w-\\[28rem\\]{width:28rem}.lg\\:w-\\[64rem\\]{width:64rem}.lg\\:w-fit{width:-moz-fit-content;width:fit-content}.lg\\:max-w-6xl{max-width:72rem}.lg\\:flex-row{flex-direction:row}.lg\\:gap-0{gap:0}.lg\\:rounded-2xl{border-radius:1rem}.lg\\:rounded-3xl{border-radius:1.5rem}.lg\\:rounded-xl{border-radius:.75rem}.lg\\:p-7{padding:1.75rem}.lg\\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\\:px-20{padding-left:5rem;padding-right:5rem}.lg\\:px-56{padding-left:14rem;padding-right:14rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\\:py-20{padding-bottom:5rem;padding-top:5rem}.lg\\:py-7{padding-bottom:1.75rem;padding-top:1.75rem}.lg\\:pt-0{padding-top:0}.lg\\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\\:text-5xl{font-size:3rem;line-height:1}.lg\\:text-base{font-size:1rem;line-height:1.5rem}.lg\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1200px){.xl\\:-left-12{left:-3rem}.xl\\:-left-28{left:-7rem}.xl\\:bottom-0{bottom:0}.xl\\:left-36{left:9rem}.xl\\:left-\\[42rem\\]{left:42rem}.xl\\:left-\\[60rem\\]{left:60rem}.xl\\:col-span-3{grid-column:span 3/span 3}.xl\\:col-span-4{grid-column:span 4/span 4}.xl\\:col-span-6{grid-column:span 6/span 6}.xl\\:block{display:block}.xl\\:flex{display:flex}.xl\\:hidden{display:none}.xl\\:h-\\[36\\.25rem\\]{height:36.25rem}.xl\\:\\!w-40{width:10rem!important}.xl\\:w-3\\/12{width:25%}.xl\\:w-6\\/12{width:50%}.xl\\:w-96{width:24rem}.xl\\:w-\\[29rem\\]{width:29rem}.xl\\:max-w-36{max-width:9rem}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}.xl\\:items-start{align-items:flex-start}.xl\\:items-center{align-items:center}.xl\\:gap-1{gap:.25rem}.xl\\:gap-6{gap:1.5rem}.xl\\:text-left{text-align:left}}.comfyui-easyuse-toast{position:fixed;z-index:99999;top:0;left:0;height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:start}.comfyui-easyuse-toast-container{position:relative;height:fit-content;padding:4px;margin-top:-100px;opacity:0;z-index:3;-webkit-transition:all .3s ease-in-out;-khtml-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.comfyui-easyuse-toast-container:last-child{z-index:1}.comfyui-easyuse-toast-container.show{opacity:1;margin-top:0!important;transform:translateY(0)}.comfyui-easyuse-toast-container:not(.show){z-index:1}.comfyui-easyuse-toast-container>div{position:relative;background:var(--comfy-menu-bg);color:var(--input-text);height:fit-content;box-shadow:0 0 10px #000000e0;padding:9px 12px;border-radius:var(--border-radius);font-size:14px;pointer-events:all;margin-top:40px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-toast-container>div>span{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-toast-container>div>span i{font-size:16px;margin-right:8px}.comfyui-easyuse-toast-container>div>span i.loading{animation:loading-rotate 1s linear infinite}.comfyui-easyuse-toast-container a{cursor:pointer;text-decoration:underline;color:var(--theme-color-light);margin-left:4px;display:inline-block;line-height:1}.comfyui-easyuse-toast-container a:hover{color:var(--theme-color-light);text-decoration:none}@keyframes loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comfyui-easyuse-selector{position:relative}.comfyui-easyuse-selector.hide{display:none}.comfyui-easyuse-selector__header{--height:26px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;height:var(--height);padding-bottom:10px;border-bottom:1px solid var(--border-color-solid)}.comfyui-easyuse-selector__header_button{height:var(--height);width:var(--height);border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;background:var(--bg-color);box-shadow:none;cursor:pointer;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-selector__header_button:hover{filter:brightness(1.2)}.comfyui-easyuse-selector__header_button:hover i{color:var(--error-color)}.comfyui-easyuse-selector__header_button i{font-size:16px;color:var(--input-text);-webkit-transition:all .3s ease-in-out;-khtml-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.comfyui-easyuse-selector__header_search{flex:1;margin-left:10px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;background:var(--bg-color);padding:0 8px;height:var(--height);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-selector__header_search i{font-size:16px}.comfyui-easyuse-selector__header_search .search{vertical-align:middle;margin-left:5px;outline:none;resize:none;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;overflow-y:scroll;background:transparent;width:100%;line-height:var(--height);font-size:12px;color:var(--input-text);-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-selector__content{list-style:none;padding:0;margin:0;min-height:150px;height:calc(100% - 28px);overflow-y:auto;overflow-x:hidden}.comfyui-easyuse-selector-item{display:inline-block;position:relative}.comfyui-easyuse-selector-item__tag{display:inline-block;vertical-align:middle;margin-top:8px;margin-right:8px;padding:4px;color:var(--input-text);background-color:var(--bg-color);border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;cursor:pointer;overflow:hidden;position:relative}.comfyui-easyuse-selector-item__tag:hover{filter:brightness(1.2)}.comfyui-easyuse-selector-item__tag.hide{display:none}.comfyui-easyuse-selector-item__tag input{--ring-color: transparent;position:relative;box-shadow:none;border:1px solid var(--border-color);border-radius:2px;background:linear-gradient(135deg,var(--comfy-menu-bg) 0%,var(--comfy-input-bg) 60%)}.comfyui-easyuse-selector-item__tag input[type=checkbox]{display:inline-block;flex-shrink:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color);background-origin:border-box;padding:0;width:1rem;height:1rem;border-radius:4px;color:var(--theme-color-light);-webkit-user-select:none;user-select:none}.comfyui-easyuse-selector-item__tag input[type=checkbox]:checked{border:1px solid var(--theme-color-light);background-color:var(--theme-color-light);background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 16 16\' fill=\'white\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath d=\'M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z\'/%3e%3c/svg%3e")}.comfyui-easyuse-selector-item__tag input span{margin:0 4px;vertical-align:middle}.comfyui-easyuse-selector-preview{position:absolute;left:-180px;top:-110px;z-index:2;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--comfy-menu-bg);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px);overflow:hidden}.comfyui-easyuse-selector-preview img{width:150px;height:150px}.comfyui-easyuse-selector-preview__text{font-size:12px;padding:5px 10px;max-width:130px;color:var(--input-text)}.comfyui-easyuse-selector-preview__text h6{line-height:1.15;font-size:10px;margin:10px 0}.comfyui-easyuse-chooser-dialog{max-width:600px}.comfyui-easyuse-chooser-dialog-title{font-size:18px;font-weight:700;text-align:center;color:var(--input-text);margin:0}.comfyui-easyuse-chooser-dialog-images{margin-top:10px;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box}.comfyui-easyuse-chooser-dialog-images img{width:50%;height:auto;cursor:pointer;box-sizing:border-box;filter:brightness(80%)}.comfyui-easyuse-chooser-dialog-images img:hover{filter:brightness(100%)}.comfyui-easyuse-chooser-dialog-images img.selected{border:4px solid var(--success-color)}.comfyui-easyuse-chooser-dialog-hidden{display:none;height:0}.comfyui-easyuse-contextmenu{--height: 26px;--padding: 8px;font-family:var(--font-family);position:fixed;top:0;left:0;width:100%;max-width:200px;min-width:100px;min-height:100px;padding:var(--padding) 0;box-shadow:0 0 10px #00000040;background-color:var(--tr-odd-bg-color);border-radius:var(--border-radius);z-index:10;will-change:transform}.comfyui-easyuse-contextmenu-item-divider{height:1px;width:100%;background-color:var(--border-color);margin:var(--padding) 0}.comfyui-easyuse-contextmenu-item-content{height:var(--height);padding:0 12px;cursor:pointer;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-contextmenu-item-content span{font-size:11px;color:var(--input-text);display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-contextmenu-item-content i{color:var(--input-text);margin-left:4px;display:block;width:0;height:0;border-width:4px 4px 0;border-style:solid;border-color:var(--descrip-text) transparent transparent;-webkit-transform:scaleY(.8) rotate(-90deg);-khtml-transform:scaleY(.8) rotate(-90deg);-moz-transform:scaleY(.8) rotate(-90deg);-ms-transform:scaleY(.8) rotate(-90deg);-o-transform:scaleY(.8) rotate(-90deg);transform:scaleY(.8) rotate(-90deg)}.comfyui-easyuse-contextmenu-item-content:hover{background:var(--theme-color)}.comfyui-easyuse-contextmenu-item.disabled .comfyui-easyuse-contextmenu-item-content span{color:var(--border-color);cursor:default}.comfyui-easyuse-contextmenu-item.disabled .comfyui-easyuse-contextmenu-item-content:hover{background:transparent}.comfyui-easyuse-contextmenu-submenu{font-family:var(--font-family);position:absolute;top:0;left:200px;max-width:200px;width:200px;min-width:100px;min-height:--height;padding:var(--padding) 0;box-shadow:0 0 10px #00000040;background-color:var(--tr-odd-bg-color);border-radius:var(--border-radius);z-index:10;will-change:transform}.comfyui-easyuse-contextmenu-model{position:relative}#easyuse-model-thumbnail{display:none;position:fixed;z-index:9999;width:200px;height:auto;opacity:0;-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);-khtml-transition:all .5s cubic-bezier(.55,0,.1,1);-moz-transition:all .5s cubic-bezier(.55,0,.1,1);-ms-transition:all .5s cubic-bezier(.55,0,.1,1);-o-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1)}.comfyui-easyuse-slider{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-slider-item{height:inherit;min-width:25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-webkit-flex-direction:column;-khtml-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;-o-flex-direction:column;flex-direction:column}.comfyui-easyuse-slider-item-input{height:15px;font-size:10px;color:var(--input-text)}.comfyui-easyuse-slider-item-label{height:15px;border:none;color:var(--descrip-text);font-size:8px}.comfyui-easyuse-slider-item-scroll{width:5px;height:calc(100% - 30px);background:var(--comfy-input-bg);border-radius:10px;position:relative}.comfyui-easyuse-slider-item-bar{width:10px;height:10px;background:linear-gradient(to bottom,var(--input-text),var(--descrip-text));border-radius:100%;box-shadow:0 2px 10px var(--bg-color);position:absolute;top:0;left:-2.5px;cursor:pointer;z-index:1}.comfyui-easyuse-slider-item-area{width:100%;border-radius:20px;position:absolute;bottom:0;background:var(--input-text);z-index:0}.comfyui-easyuse-slider-item.positive .comfyui-easyuse-slider-item-label{color:var(--success-color)}.comfyui-easyuse-slider-item.positive .comfyui-easyuse-slider-item-area{background:var(--success-color)}.comfyui-easyuse-slider-item.negative .comfyui-easyuse-slider-item-label{color:var(--error-color)}.comfyui-easyuse-slider-item.negative .comfyui-easyuse-slider-item-area{background:var(--error-color)}.comfyui-easyuse-map{height:100%;background:var(--comfy-menu-bg)}.comfyui-easyuse-map .p-splitter-gutter-handle{height:1px!important}.comfyui-easyuse-map-nodes{height:100%;position:relative}.comfyui-easyuse-map-nodes__header{position:absolute;z-index:2;top:0;left:0;width:100%;padding:.25rem 0 .25rem .5rem;height:2.8rem;background:var(--comfy-menu-bg);border-bottom:1px solid var(--border-color);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px)}.comfyui-easyuse-map-nodes__header .title{font-size:13px;color:var(--input-text);font-weight:400;line-height:1.5;-webkit-user-select:none;user-select:none}.comfyui-easyuse-map-nodes__header .toolbar{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes__header .toolbar .icon{font-size:.85rem;margin-left:.25rem;cursor:pointer}.comfyui-easyuse-map-nodes__content{position:relative;padding:2.8rem 0 0;height:100%;overflow:auto}.comfyui-easyuse-map-nodes__content-searchbox{padding:1rem}.comfyui-easyuse-map-nodes__content dl .label{padding-left:1rem}.comfyui-easyuse-map-nodes__content ul,.comfyui-easyuse-map-nodes__content ol,.comfyui-easyuse-map-nodes__content dl{list-style-type:none;padding:0;margin:0}.comfyui-easyuse-map-nodes__content ul .toolbar span,.comfyui-easyuse-map-nodes__content ol .toolbar span,.comfyui-easyuse-map-nodes__content dl .toolbar span{font-size:13px}.comfyui-easyuse-map-nodes__content ul .toolbar span.pi-eye,.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye{color:var(--input-text)}.comfyui-easyuse-map-nodes__content ul .toolbar span.pi-eye-slash,.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye-slash,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye-slash{color:var(--descrip-text)}.comfyui-easyuse-map-nodes__content ul .toolbar span.pi-eye-slash.never,.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye-slash.never,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye-slash.never{opacity:.5}.comfyui-easyuse-map-nodes__content ol{padding:0;padding-block-start:2px;padding-inline-start:1rem}.comfyui-easyuse-map-nodes__content .no_result{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;text-align:center}.comfyui-easyuse-map-nodes .p-contextmenu{display:block!important;position:fixed!important;z-index:1000!important}.comfyui-easyuse-map-nodes-group{position:relative;overflow:hidden;width:100%;height:2rem;cursor:default;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;pointer-events:auto}.comfyui-easyuse-map-nodes-group .left,.comfyui-easyuse-map-nodes-group .right{height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes-group .left{padding-left:.5rem;margin-right:.25rem;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-map-nodes-group .icon{font-size:.85rem;margin-right:.25rem}.comfyui-easyuse-map-nodes-group .label{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;height:100%;width:100%;min-width:80px}.comfyui-easyuse-map-nodes-group .label span{font-size:14px;color:var(--input-text);font-weight:400;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.comfyui-easyuse-map-nodes-group:hover{background:var(--content-hover-bg)!important}.comfyui-easyuse-map-nodes-group.active{background:var(--theme-color)!important}.comfyui-easyuse-map-nodes-group.active .label{color:#fff;cursor:default}.comfyui-easyuse-map-nodes-group.never .label{color:var(--descrip-text);opacity:.4}.comfyui-easyuse-map-nodes-group.bypass .label{color:var(--descrip-text)}.comfyui-easyuse-map-nodes-node{height:2rem;cursor:default;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;position:relative;overflow:hidden;pointer-events:auto}.comfyui-easyuse-map-nodes-node .node_id{background:#0b2000;padding:.25rem;margin:0 0 0 .25rem;border-radius:.25rem;text-align:center;color:#fff;font-size:12px}.comfyui-easyuse-map-nodes-node .left{height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes-node .label{text-indent:.5rem;font-size:14px;color:var(--input-text);font-weight:400;line-height:1.5;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;margin-right:.25rem;height:2rem;line-height:2rem;width:100%;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical}.comfyui-easyuse-map-nodes-node .label.error{color:var(--error-color)}.comfyui-easyuse-map-nodes-node:hover{background:var(--content-hover-bg)!important}.comfyui-easyuse-map-nodes-node.never .label{color:var(--descrip-text);opacity:.5}.comfyui-easyuse-map-nodes-node.bypass .label{color:#f0f;opacity:.5}.comfyui-easyuse-toolbar{border-radius:0 12px 12px 0;min-width:50px;height:24px;position:fixed;bottom:85px;left:0;display:flex;align-items:center;z-index:1000;background-color:var(--comfy-menu-bg);border:1px solid var(--bg-color);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px)}.comfyui-easyuse-toolbar-icon{height:100%;padding:0 4px;display:flex;justify-content:center;align-items:center;font-size:12px;color:var(--input-text);transition:all .3s ease-in-out;cursor:pointer}.comfyui-easyuse-toolbar-icon svg{width:14px;height:14px}.comfyui-easyuse-toolbar-icon:hover.group{color:var(--warning-color)}.comfyui-easyuse-toolbar-icon:hover.rocket{color:var(--theme-color)}.comfyui-easyuse-toolbar-nodes-map{position:absolute;top:50px;left:10px;width:200px;border-radius:12px;min-height:100px;max-height:600px;color:var(--descrip-text);background-color:var(--comfy-menu-bg);border:1px solid var(--bg-color);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px);z-index:399;padding-top:0;overflow:hidden}.comfyui-easyuse-toolbar-nodes-map .no-result-placeholder-content{-webkit-transform:scale(.8);-khtml-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes{min-height:100px;max-height:600px}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__header:before{content:"…";position:absolute;left:.25rem;top:2.75rem;transform:translateY(-2rem) rotate(90deg);width:.5rem;height:.5rem;display:inline-block;overflow:hidden;line-height:5px;padding:3px 4px;cursor:move;vertical-align:middle;font-size:12px;font-family:sans-serif;letter-spacing:2px;color:var(--drag-text);z-index:3;text-shadow:1px 0 1px black}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__header .title{cursor:move;padding-left:.25rem}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__content{max-height:calc(600px - 2.7rem)}.no-result-placeholder{display:flex;justify-content:center;align-items:center;height:100%}.no-result-placeholder-content{text-align:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-direction:column;-khtml-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;-o-flex-direction:column;flex-direction:column;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between}.no-result-placeholder .p-card{background-color:transparent!important;box-shadow:none;text-align:center}.no-result-placeholder h3{color:var(--input-text);margin-bottom:.5rem}.no-result-placeholder p{color:var(--descrip-text);margin-bottom:1rem;margin-top:0}#comfyui-easyuse-components{position:absolute;top:0;left:0;z-index:3}.comfyui-easyuse{--primary-bg:var(--theme-color)!important;--primary-hover-bg: var(--theme-color-light)!important;--p-datatable-header-cell-padding: .15rem 1rem;--p-datatable-body-cell-padding: .15rem 1rem;--border-color-solid: var(--border-color);--border-radius: 8px}.comfyui-easyuse.dark-theme{--fg-color: #fff;--bg-color: #242427;--content-bg:#18181b;--content-fg:#fff;--content-hover-bg: #27272a;--comfy-menu-bg: rgba(24,24,27,.9);--comfy-input-bg: #242427;--input-text: #ffffff;--descrip-text: #71717a;--drag-text: #ccc;--error-text: #ff4444;--border-color: #3f3f46;--border-color-solid: #2a2a2e;--tr-even-bg-color: rgba(28,28,28,.9);--tr-odd-bg-color: rgba(19,19,19,.9)}.comfyui-easyuse ::-webkit-scrollbar{width:0em}.comfyui-easyuse ::-webkit-scrollbar-track{background-color:transparent}.comfyui-easyuse ::-webkit-scrollbar-thumb{background-color:transparent;border-radius:2px}.comfyui-easyuse ::-webkit-scrollbar-thumb:hover{background-color:transparent}.comfyui-easyuse body{font-family:var(--font-family)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.comfyui-easyuse textarea{font-family:var(--font-family)!important}.comfyui-easyuse hr{border:1px solid var(--border-color)}.comfyui-easyuse .comfy-multiline-input{background-color:transparent;border:1px solid var(--border-color-solid);border-radius:var(--border-radius);padding:8px;font-size:12px}.comfyui-easyuse #comfy-settings-dialog{border:1px solid var(--border-color);background:transparent;-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%);box-shadow:none}.comfyui-easyuse .comfy-modal{border:1px solid var(--border-color);box-shadow:none;-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .cm-title{background-color:transparent!important}.comfyui-easyuse .cm-notice-board{border-radius:10px!important;border:1px solid var(--border-color)!important}.comfyui-easyuse .cm-menu-container{margin-bottom:50px!important}.comfyui-easyuse .cn-manager-custom_milk_white .tg-column-name,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-column-name{color:var(--input-text)}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-message,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-message{text-align:center;color:var(--descrip-text)!important}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .tg-cell,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .tg-cell{color:var(--input-text)}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .cn-node-name a,.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .cmm-node-name a,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .cn-node-name a,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .cmm-node-name a{color:var(--theme-color)!important}.comfyui-easyuse .comfy-menu{border-radius:16px;box-shadow:0 0 1px var(--descrip-text);-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .comfy-menu button.comfy-settings-btn{font-size:12px}.comfyui-easyuse .comfy-menu-btns{margin-bottom:4px}.comfyui-easyuse .comfy-menu button,.comfyui-easyuse .comfy-modal button{font-size:14px;padding:4px 0;margin-bottom:4px}.comfyui-easyuse .comfy-menu-btns button,.comfyui-easyuse .comfy-list-actions button{font-size:10px}.comfyui-easyuse .comfy-menu>button,.comfyui-easyuse .comfy-menu-btns button,.comfyui-easyuse .comfy-menu .comfy-list button,.comfyui-easyuse .comfy-modal button{border-width:1px}.comfyui-easyuse #comfy-dev-save-api-button{justify-content:center}.comfyui-easyuse #queue-button{position:relative;overflow:hidden;min-height:30px;z-index:1}.comfyui-easyuse #queue-button:after{clear:both;content:attr(data-attr);background:green;color:#fff;width:var(--process-bar-width);height:100%;position:absolute;top:0;left:0;z-index:0;text-align:center;display:flex;justify-content:center;align-items:center}.comfyui-easyuse #shareButton{background:linear-gradient(to left,var(--theme-color),var(--theme-color-light))!important;color:#fff!important}.comfyui-easyuse .litegraph.litecontextmenu{--height: 24px;--padding: 6px;font-family:var(--font-family);padding:var(--padding) 0;border-radius:var(--border-radius);-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .litegraph.litecontextmenu .litemenu-title{padding:var(--padding)}.comfyui-easyuse .litegraph.litecontextmenu>div:first-child.litemenu-title{margin-top:-6px}.comfyui-easyuse .litegraph.litecontextmenu .submenu{height:var(--height);line-height:var(--height);padding:0 18px 0 12px;margin:0;background:transparent!important}.comfyui-easyuse .litegraph.litecontextmenu .submenu.has_submenu{border-right:none;position:relative}.comfyui-easyuse .litegraph.litecontextmenu .submenu.has_submenu:after{content:"";display:block;width:0;height:0;border-width:4px 4px 0;border-style:solid;border-color:var(--input-text) transparent transparent;transform:translateY(-50%) rotate(-90deg);top:50%;position:absolute}.comfyui-easyuse .litegraph.litecontextmenu .submenu.separator{height:1px;width:100%;background-color:var(--border-color)!important;margin:var(--padding) 0;border:none}.comfyui-easyuse .litegraph.litecontextmenu .submenu:last-child.separator{display:none}.comfyui-easyuse .litegraph.litecontextmenu .submenu:hover:not(.separator){background:var(--theme-color)!important}.comfyui-easyuse .litegraph.lite-search-item{background-color:var(--comfy-input-bg)!important;filter:brightness(100%)}.comfyui-easyuse .litegraph.lite-search-item:hover{filter:brightness(120%);color:var(--input-text)}.comfyui-easyuse .graphdialog{-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .graphdialog button{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse .comfyui-menu{background:var(--comfy-menu-bg);border-bottom:1px solid var(--bg-color)}.comfyui-easyuse .side-tool-bar-container{background:var(--comfy-menu-bg);border-right:1px solid var(--bg-color)}.comfyui-easyuse .comfy-modal-content{width:100%}.comfyui-easyuse-poseEditor{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;text-align:center;font-size:18px;line-height:1.5}.comfyui-easyuse .dom-widget{padding:0 4px}.comfyui-easyuse .pi.pi-circle-fill[data-testid=noColor]{color:#000!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=red]{color:#af3535!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=brown]{color:#38291f!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=green]{color:#346434!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=blue]{color:#1f1f48!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=pale_blue]{color:#006691!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=cyan]{color:#008181!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=purple]{color:#422342!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=yellow]{color:#c09430!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=black]{color:#000c!important}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}(); -var e;import{g as t,$ as s,a,t as l,b as o,s as n,c as i,d,u,j as r,N as c,e as p,i as v,f as m,h as g,k as h,l as y,m as f}from"./assets/extensions-H2sIrZX5.js";import{C as A,r as w,j as x,l as b,a as S,c as M,M as _,b as C,K as E,w as k,U as I,e as B,N,V as D,F as z,L as H,o as V,W as Q,f as j,d as R,I as O,X as Z,D as G,G as P,S as Y,m as L,Y as U,J as W,Z as T,_ as F,$}from"./assets/vue-CYk3Qk0T.js";import{d as X,c as J,s as q,e as K,f as ee,T as te,g as se,i as ae,j as le,k as oe}from"./assets/vendor-DcaQJ8Sr.js";import{c as ne}from"./assets/lodash-CZi7izHi.js";import{u as ie,a as de}from"./assets/vueuse-CY3xMy5t.js";import{P as ue}from"./assets/primevue-q3lWDayI.js";import"./assets/primeuix-DTi4O4TO.js";const re=X("graphStore",{state:e=>({selectors:[],selectors_styles:{},seg_selectors:[],slider_controls:[]}),actions:{setSelectors(e){this.selectors=ne(e)},setStyles(e,t){this.selectors_styles[e]||(this.selectors_styles[e]=t)},setSegSelectors(e){this.seg_selectors=ne(e)},setSliderControls(e){this.slider_controls=ne(e)}}}),ce=["data-id"],pe=["placeholder"],ve=["onMouseenter","onMouseleave"],me=["onClick"],ge=["name","checked"],he=["src"],ye={key:0},fe={key:1},Ae="comfyui-easyuse-selector",we={__name:"stylesSelector",props:{id:{type:String|Number,default:""},type:{type:String,default:""},selectedStyles:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["chooseStyle"],setup(e,{emit:o}){const n=A((e=>t("Comfy.Locale")||"en")),i=e,d=re(),{selectors_styles:u}=J(d),r=w([]);x((e=>i.type),(async e=>{r.value=[],e&&await(async e=>{if(u.value[i.type])return!0;const t=await a.fetchApi(`/easyuse/prompt/styles?name=${e}`);if(200===t.status){let e=(await t.json()).map(((e,t)=>(e.index=t,e)));return await d.setStyles(i.type,e),!0}return l.error(s("Get styles list Failed")),!1})(e)&&p()}),{immediate:!0});const c=o,p=e=>{const t=i.selectedStyles,s=ne(u.value[i.type]);r.value=s.sort(((e,t)=>e.index-t.index)).sort(((e,s)=>t.includes(s.name)-t.includes(e.name)))},v=w(""),m=e=>e.toLowerCase(),g=b({}),h=e=>{g.src="",g.name="",g.positive="",g.negative=""},y=async e=>{const t=await a.fetchApi(`/easyuse/prompt/styles/image?name=${e}&styles_name=${i.type}`);if(200===t.status){const s=await t.text();if(s.startsWith("http"))return s;return`/easyuse/prompt/styles/image?name=${e}&styles_name=${i.type}`}},f=e=>{e.target.src="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QNLaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMSA3OS4xNDYyODk5Nzc3LCAyMDIzLzA2LzI1LTIzOjU3OjE0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoMjAyMzA5MDUubS4yMzE2IDk3OWM4NmQpICAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjA3NEU1QzNCNUJBMTFFRUExMUVDNkZDRjI0NzlBN0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjA3NEU1QzRCNUJBMTFFRUExMUVDNkZDRjI0NzlBN0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMDc0RTVDMUI1QkExMUVFQTExRUM2RkNGMjQ3OUE3RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMDc0RTVDMkI1QkExMUVFQTExRUM2RkNGMjQ3OUE3RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//AABEIAIAAgAMBEQACEQEDEQH/xACLAAEAAgMBAQEAAAAAAAAAAAAABAUCAwYBBwgBAQADAQEBAAAAAAAAAAAAAAABAgMEBQYQAAEEAgECAwUHAwUAAAAAAAEAAgMEEQUhEgYxEwdBYSIyFFFxgVJyIxWRoTOxwdFiJBEBAAICAQQBBAIDAAAAAAAAAAECEQMxIUESBBOB0SIyUXGCIwX/2gAMAwEAAhEDEQA/AP1SgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDXJYgj+d4afsVopM8KWvEcy8it1pXdMcjXO/Lnn+im2u0cwV2VniW1UXEBAQEBAQEBAQEBAQRNlc+mgyDh7zhv+5WunX5Sw37fCHM2dh48r06ank7N6rn2Ja7qa4hw5BBwQV010uK+/DsO29v/J68SOI86Jxjl95HIP4gryPc0fHfHaXu+j7Py68zzHSVquV2iAgICAgICAgICDyTr6HdHz4PTnwypjnqic46OauNbY6mGX99p+L8w9xaeV6OufHt0eXtr59M9VFb194E9LmuH3kf6rv17avO2ets7YVcuuuk/uOa3PgBlxP4BdMbq9nLPqbJ5xDbSM9azFXpyujuSO+Bo5kcf0NPyj25We2YtEzaPxdfr6519Kz+UvqEIlELBKQZQ0eYRwC7HOPxXzVsZ6cPpK5x15ZKEiAgICAgICAgICCNc1tG40CzA2XHg4j4h9zhyFpr22p+s4Z7NNL/ALRlTX+1dVFBJOJrcTI2lxZHYcBx+sldWv3bzOMVn6fZy39OkRnNo+v3aoOx9JOxks8tqwHDPS+1IW8+IzGWZVrf9DZHSMR/j9yvo656zMz9V1rdLqdYwsoVIqwd87mNAc79Tvmd+JXJt332ftMy6temlP1jCasmggICAgICAgICAgwlmiib1SPDB7zhWrWZ4VtaI5QXb2l5ojYHvLjjIGB/dbR61sZlhPtVziFb3PYdd0luCvAZbXludVZ1huZQPgyTx4/atvWj4rxaZ6d/6Ye1/t1zSI6zx/bzti5YqaOpBeg8u41n/oa14cA4ccH7lPs1jZebVn8eyPUtOrXFbR+XdYx9xa90pjeXROaSCXDj+oysZ9S+Mx1bR7uvOJ6LGOWKVgfG8PafAtOQueazHLqraJjMMlCRAQEBAQEBAQRLNp4HTFx/2/4WtKR3Y32T2Udl8j3knk/aeSu6kREPPvaZlpY3DmyY8DyrzPZWv8tkvmFv7bg12RyR1DGeeMj2KnjE9JaeUx1hi1sgaet/U7JIOMcE8Dj7FMREcK2zPKMasr5XO6fmOVt5xEOadVplYU45IAOhxa72kLm2TFuXXqrNeF1WtlwDZeHfmHguO+vHDupszylLJsICAgICAg8cMjCQiYR5IVpFmc1Q5qLXHPgfbhbV2MLaYlqNQAYA4V/kV+PDA1fcp81fjYurtYMu4CmLZRNYhtZWBAI8CqzdaKN8df3LObtIokxwe5ZzZrFUloIGFnLWHqhIgICAgICAgxMbSpyjDAwAq3kr4MTWCnzR4MX02PGHDISNmETqieWba7QABwB4KJumKNgjaFXK0VZYChYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEHzvuv1G7k1W9s6/Xamtaq15oaonmnsCR008HntaI4K8/s4HOeEGXZXqTud7uqtG7r6kNa5HdMU9aaw9zZde+FkrHsnr1+M2MZBPIKDRe9cO2K2mjs/V0m7X61lWzq32W+ZFEbfkSSO4B+GL9zw4QWm99TqFVmjsaSu7fUtxeNM2aTmSMBbHI9zWHqHVJlnDTxjPKCJL6sea502t1D7Ouhr0rNqxNM2CSNuwnkgjAi6ZOotdEc/Egibf1j/j+7JNL9DWdWg84TWn2ywtdFKyMZb5Tg0nLyG55x48IJ3bXqe/ea/a26dFtyTXtldDUqyOdNL5VqaDHS5gwXRxMe3xz1Y9iDKP1Sa7uefUnR7TyYqUVoEU5jY6pJZIz1RY4ZiMYd7TkexBA749Wr2gtCKlrIpGs17NjK29LLWmPmMsyiFkbIZsPEdKQu6y0eAQWdD1E2L93W1tzRyCDY3paev2NaxVlhIjidMfMb5vmse1kbi9pZ7MeKDt0BAQEBAQfEPU+lFY2++q2K1uSSezTnrReVsTTmiZVYHOd9LVuQyubIwANkbxz4FA7FsQ0NrrLNXX7N0eo1+3darGDYPjb5j6prxVRajjDetsRAjj4yM4CDre2uxO7q2hqtm7nua6w9rp5tfXgoSxwyTOMr42PlrPe4Nc8jJJQRDb3Oz1fYFrcV7As0mu3u7nbWkBZ9LSfG5nlxs/yySWRiNozwcBBx9EXadGTXz62+LG41+jZS6adhzS6vfnlkEjgzEZax7T8ePFBu3nbPdUXqJZsw6S5cqbCW1YdIY2lxhhfEGMjfHtoG9HxucwPEZy4/A7kMC87aq2Kmv7mdvxuqGmklFjUU4G2Yp21rdyW00t+kJkFl88pY9vDgwNDvEoK9np73FBcHdkrt2+rZd5FjQx7O0b8WvbzDKZhN1SSse573QdeAHkN+Ichj3p2rBvZq9vUnY2tcNQPqpZYZpJ44GxXqzHdVlzZZpib73mLHViI85c1BZ6OpsIe/6/XSuntevdsz6+8+pI0/yM1dtWVr2Z644P8rmyuj6S53jxkh9aQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBB/9k="};return(t,a)=>(S(),M("div",{class:E(Ae+` ${Ae}-styles`),"data-id":e.id,onMouseleave:h},[r.value.length>0&&e.show?(S(),M(_,{key:0},[C("div",{class:E(Ae+"__header")},[C("div",{class:E(Ae+"__header_button"),onClick:a[0]||(a[0]=e=>(c("chooseStyle",[]),void(v.value="")))},a[2]||(a[2]=[C("i",{class:"mdi mdi-trash-can"},null,-1)]),2),C("div",{class:E(Ae+"__header_search")},[a[3]||(a[3]=C("i",{class:"mdi mdi-magnify"},null,-1)),k(C("textarea",{class:"search","onUpdate:modelValue":a[1]||(a[1]=e=>v.value=e),dir:"ltr",rows:1,placeholder:B(s)("Type here to search styles ...")},null,8,pe),[[I,v.value]])],2)],2),C("div",{class:E(Ae+"__content"),onMouseleave:p},[(S(!0),M(_,null,N(r.value,((t,s)=>(S(),M("div",{class:E(Ae+"-item"),key:s,onMouseenter:e=>(async e=>{if(!e.imageSrc){if(e.imageLoading)return;e.imageLoading=!0;const t=await y(e.imgName).finally((()=>e.imageLoading=!1));e.imageSrc=t}g.name="zh"==n&&e.name_cn?e.name_cn:e.name,g.positive=e.prompt,g.negative=e.negative_prompt,g.src=e.imageSrc})(t),onMouseleave:D((e=>h()),["stop"])},[C("span",{class:E([Ae+"-item__tag",{hide:!(e.selectedStyles.includes(t.name)||-1!=m(t.name).indexOf(m(v.value))||t.name_cn&&-1!=m(t.name_cn).indexOf(m(v.value)))}]),onClick:e=>(e=>{let t=i.selectedStyles;t.includes(e.name)?t=t.filter((t=>t!==e.name)):t.push(e.name),c("chooseStyle",t)})(t)},[C("input",{type:"checkbox",name:t.name,checked:e.selectedStyles.includes(t.name)},null,8,ge),C("span",null,z(["zh","zh_CN"].includes(n.value)&&t.name_cn?t.name_cn:t.name),1)],10,me)],42,ve)))),128))],34),(null==g?void 0:g.src)||(null==g?void 0:g.positive)||(null==g?void 0:g.negative)?(S(),M("div",{key:0,class:E(Ae+"-preview")},[g.src?(S(),M("img",{key:0,src:g.src,ref:"image",alt:"preview",onError:f},null,40,he)):H("",!0),C("div",{class:E(Ae+"-preview__text")},[C("b",null,z(g.name),1),C("div",{class:E(Ae+"-preview__prompt")},[g.positive?(S(),M("h6",ye,[a[4]||(a[4]=C("span",{class:"comfyui-easyuse-success"},"positive:",-1)),C("span",null,z(g.positive),1)])):H("",!0),g.negative?(S(),M("h6",fe,[a[5]||(a[5]=C("span",{class:"comfyui-easyuse-error"},"negative:",-1)),C("span",null,z(g.negative),1)])):H("",!0)],2)],2)],2)):H("",!0)],64)):H("",!0)],42,ce))}},xe=["data-id"],be=["onMousedown","onDblclick"],Se="comfyui-easyuse-slider",Me="ipadapter layer weights",_e={__name:"sliderControl",props:{id:{type:String|Number,default:""},mode:{type:String,default:""},type:{type:String,default:""},values:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["changeValues","showSlider"],setup(e,{emit:t}){const s=e,a=t,l=(e,t,s)=>(e-t)/(s-t)*100,o=(e,t,a=void 0)=>{if(s.mode===Me){let s={3:2.5,6:1}[t]||0;return{default:12==e?s:0,min:-1,max:3,step:.05,value:void 0!==a?a:12==e?s:0,top:void 0!==a?100-l(a,-1,3)+"%":null,height:void 0!==a?l(a,-1,3)+"%":null}}};x((e=>s.mode),(async(e,t)=>{var l;if(e!==t&&e===Me)if(!t&&(null==(l=s.values)?void 0:l.length)>0){const e=s.values.map((e=>{const t=e.split(":");return o(s.values.length,t[0],parseFloat(t[1]))}));await a("changeValues",e)}else{let e="sd1"==s.type?16:12,t=Array.from({length:e},((t,s)=>o(e,s)));await a("changeValues",t)}a("showSlider")}),{immediate:!0}),x((e=>s.type),((e,t)=>{if(e!=t&&s.mode==Me){let e="sd1"==s.type?16:12,t=Array.from({length:e},((t,s)=>o(e,s)));a("changeValues",t)}}));const n=w(null),i=w(null);return V((()=>{document.onmouseup=e=>document.onmousemove=null})),(t,o)=>{var d;return S(),M("div",{class:E(Se),"data-id":e.id},[(null==(d=e.values)?void 0:d.length)>0&&e.show?(S(!0),M(_,{key:0},N(e.values,((t,o)=>(S(),M("div",{class:E([Se+"-item",{positive:3==o&&"sdxl"==e.type&&e.mode==Me},{negative:6==o&&"sdxl"==e.type&&e.mode==Me}]),key:o},[C("div",{class:E(Se+"-item-input")},z(t.value),3),C("div",{class:E(Se+"-item-scroll"),ref_for:!0,ref_key:"scroll",ref:n},[C("div",{class:E(Se+"-item-bar"),ref_for:!0,ref_key:"bar",ref:i,style:Q({top:t.top||100-l(t.default,t.min,t.max)+"%"}),onMousedown:e=>((e,t,l)=>{let o=e||window.event,d=n.value[l],u=i.value[l],r=ne(s.values),c=o.clientY-u.offsetTop;document.onmousemove=e=>{let s=(e||window.event).clientY-c;s<0?s=0:s>d.offsetHeight-u.offsetHeight&&(s=d.offsetHeight-u.offsetHeight);let o=(t.max-t.min)/t.step,n=(d.offsetHeight-u.offsetHeight)/o;s=Math.round(s/n)*n;const i=Math.floor(s/(d.offsetHeight-u.offsetHeight)*100)+"%",p=Math.floor((d.offsetHeight-u.offsetHeight-s)/(d.offsetHeight-u.offsetHeight)*100)+"%",v=parseFloat(parseFloat(t.max-(t.max-t.min)*(s/(d.offsetHeight-u.offsetHeight))).toFixed(2));r[l]={...r[l],top:i,height:p,value:v},a("changeValues",r),window.getSelection?window.getSelection().removeAllRanges():document.selection.empty()}})(e,t,o),onDblclick:e=>((e,t,l)=>{let o=ne(s.values);o[l]={...o[l],top:null,height:null,value:t.default},a("changeValues",o)})(0,t,o)},null,46,be),C("div",{class:E(Se+"-item-area"),style:Q({height:t.height||l(t.default,t.min,t.max)+"%"})},null,6)],2),C("div",{class:E(Se+"-item-label")},[C("span",null,z(t.label),1)],2)],2)))),128)):H("",!0)],8,xe)}}},Ce={__name:"index",setup(e){const t=re(),{selectors:s,seg_selectors:a,slider_controls:l}=J(t),u=w({}),r=async e=>{var a,l,o,d,r,c,p;await n(1);const v=i(e,"styles"),m=(null==(a=e.properties.values)?void 0:a.length)>0?e.properties.values:[];let g=ne(s.value);g.push({id:e.id,type:v.value,value:m,show:!1});const h=g.length-1;await t.setSelectors(g),(null==(l=e.flags)?void 0:l.collapsed)&&e.collapse();let y=null==(r=null==(d=null==(o=u.value[e.id])?void 0:o._)?void 0:d.vnode)?void 0:r.el;if(!y)return;e.properties.values||e.setProperty("values",[]),g[h].show=!0,await t.setSelectors(g),v.setValue=s=>{v.value=s,g[h].type=s,e.properties.values=[],g[h].value=[],t.setSelectors(g)},e.addDOMWidget("select_styles","btn",y,{setValue(){setTimeout((e=>{g[h].value=value.split(","),t.setSelectors(g)}),150)},getValue(){var t,a;return e.properties.values=(null==(a=null==(t=s.value)?void 0:t[h])?void 0:a.value)||[],e.properties.values.join(",")}}),((null==(c=e.size)?void 0:c[0])<150||(null==(p=e.size)?void 0:p[1])<150)&&e.setSize([425,500]);const f=e.onRemoved;e.onRemoved=function(){if(f&&(null==f||f.apply(this,arguments)),void 0!==s.value.findIndex((t=>t.id==e.id))){let e=ne(s.value);e.splice(h,1),t.setSelectors(e)}return f}},c=w({}),p=async e=>{var s,l,o,u,r;await n(1);const p=i(e,"method"),v=(null==(s=e.properties.values)?void 0:s.length)>0?e.properties.values:[];let m=ne(a.value);m.push({id:e.id,type:p.value,value:v,show:!1});const g=m.length-1;await t.setSegSelectors(m),(null==(l=e.flags)?void 0:l.collapsed)&&e.collapse();let h=null==(r=null==(u=null==(o=c.value[e.id])?void 0:o._)?void 0:u.vnode)?void 0:r.el;if(!h)return;e.properties.values||e.setProperty("values",[]),m[g].show=!0,await t.setSegSelectors(m),p.setValue=s=>{p.value=s,m[g].type=s,e.properties.values=[],m[g].value=[],d(e,i(e,"confidence"),"selfie_multiclass_256x256"===p.value),e.setSize([300,"selfie_multiclass_256x256"===p.value?260:400]),t.setSegSelectors(m)},e.addDOMWidget("mask_components","btn",h,{setValue(){setTimeout((e=>{m[g].value=value.split(","),t.setSegSelectors(m)}),150)},getValue(){var t;return e.properties.values=(null==(t=a.value)?void 0:t[g].value)||[],e.properties.values.join(",")}}),d(e,i(e,"confidence"),"selfie_multiclass_256x256"===p.value),e.setSize([300,"selfie_multiclass_256x256"===p.value?260:500]);const y=e.onRemoved;e.onRemoved=function(){if(y&&(null==y||y.apply(this,arguments)),void 0!==a.value.findIndex((t=>t.id==e.id))){let e=ne(a.value);e.splice(g,1),t.setSegSelectors(e)}return y}},v=w({}),m=async e=>{var s,a,o,d,u;await n(1);const r=i(e,"mode"),c=i(e,"model_type"),p=(null==(s=e.properties.values)?void 0:s.length)>0?e.properties.values:[];(null==(a=e.flags)?void 0:a.collapsed)&&e.collapse();let m=ne(l.value);m.push({id:e.id,type:c.value,mode:r.value,value:p,show:!1});const g=m.length-1;await t.setSliderControls(m);let h=null==(u=null==(d=null==(o=v.value[e.id])?void 0:o._)?void 0:d.vnode)?void 0:u.el;if(!h)return;e.addDOMWidget("values","btn",h,{setValue(){},getValue(){var t;const s=(null==(t=l.value)?void 0:t[g].value)||[];return e.properties.values=s.map(((e,t)=>`${t}:${e.value}`)),e.properties.values.join(",")}}),e.properties.values||e.setProperty("values",[]),e.setSize("sdxl"==c.value?[375,320]:[455,320]),c.callback=s=>{m=ne(l.value),m[g].type!=s&&(e.setSize("sdxl"==s?[375,320]:[455,320]),m[g].value=[],m[g].type=s,t.setSliderControls(m))};const y=e.onRemoved;e.onRemoved=function(){if(y&&(null==y||y.apply(this,arguments)),void 0!==l.value.findIndex((t=>t.id==e.id))){let e=ne(l.value);e.splice(g,1),t.setSliderControls(e)}return y}};return V((e=>{o.registerExtension({name:"Comfy.EasyUse.Components",async beforeRegisterNodeDef(e,t){const s=e.prototype.onNodeCreated;"easy stylesSelector"==t.name&&(e.prototype.onNodeCreated=async function(){return s&&(null==s||s.apply(this,arguments)),await r(this),s}),"easy humanSegmentation"==t.name&&(e.prototype.onNodeCreated=async function(){return s&&(null==s||s.apply(this,arguments)),await p(this),s}),"easy sliderControl"==t.name&&(e.prototype.onNodeCreated=async function(){return s&&(null==s||s.apply(this,arguments)),await m(this),s}),"easy poseEditor"==t.name&&(e.prototype.onNodeCreated=async function(){s&&(null==s||s.apply(this,arguments));const e=document.createElement("div");return e.className="comfyui-easyuse-poseEditor",e.innerHTML='
This node is about to be removed, you can use ComfyUI_Custom_Nodes_AlekPet to replace it.
',this.addDOMWidget("editor","btn",e),s})}})})),(e,a)=>(S(),M(_,null,[(S(!0),M(_,null,N(B(s),((e,a)=>(S(),j(we,{ref_for:!0,ref:t=>{t&&(u.value[e.id]=t)},type:e.type,key:a,id:e.id,show:e.show,selectedStyles:e.value,onChooseStyle:e=>((e,a)=>{let l=ne(s.value);l[a].value=e,t.setSelectors(l)})(e,a)},null,8,["type","id","show","selectedStyles","onChooseStyle"])))),128)),(S(!0),M(_,null,N(B(l),((e,s)=>(S(),j(_e,{ref_for:!0,ref:t=>{t&&(v.value[e.id]=t)},type:e.type,key:s,id:e.id,show:e.show,mode:e.mode,values:e.value,onChangeValues:e=>((e,s)=>{let a=ne(l.value);a[s].value=e,t.setSliderControls(a)})(e,s),onShowSlider:e=>(e=>{let s=ne(l.value);s[e].show=!0,t.setSliderControls(s)})(s)},null,8,["type","id","show","mode","values","onChangeValues","onShowSlider"])))),128))],64))}},Ee={class:"no-result-placeholder"},ke={class:"no-result-placeholder-content"},Ie={key:0},Be={__name:"noResultsPlaceholder",props:{icon:{type:String,default:"",required:!1},iconSize:{type:String,default:"3rem",required:!1},title:{type:String,required:!0},message:{type:String,required:!1},buttonLabel:{type:String,default:"",required:!1}},emits:["action"],setup:e=>(t,s)=>(S(),M("div",Ee,[R(B(K),null,{content:O((()=>[C("div",ke,[C("i",{class:E(e.icon),style:Q({"font-size":e.iconSize,"margin-bottom":".5rem"})},null,6),C("h3",null,z(e.title),1),e.message?(S(),M("p",Ie,z(e.message),1)):H("",!0),e.buttonLabel?(S(),j(B(q),{key:1,label:e.buttonLabel,onClick:s[0]||(s[0]=e=>t.$emit("action")),class:"p-button-text"},null,8,["label"])):H("",!0)])])),_:1})]))},Ne={class:"left flex-1"},De={key:0,class:"node_id"},ze={key:1,class:"edit"},He={class:"right toolbar"},Ve={__name:"node",props:{node:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup(e){const s=u(),a=A((e=>t("EasyUse.NodesMap.DisplayNodeID"))),l=e,n=w(!1),i=w(null),d=w("");x((e=>l.node.is_edit),(e=>{e&&(d.value=l.node.title)}));const p=async()=>{let e=o.canvas.graph._nodes.find((e=>e.id==l.node.id));e?(e.is_edit=!1,e.title=d.value,await s.setNodes(o.canvas.graph._nodes),n.value=!1):n.value=!1};return(t,s)=>{var l;return S(),M("div",{draggable:!1,class:E(["comfyui-easyuse-map-nodes-node",{never:void 0!==e.node.mode&&e.node.mode==B(c).NEVER},{bypass:void 0!==e.node.mode&&e.node.mode==B(c).BYPASS}])},[C("div",Ne,[a.value?(S(),M("span",De,z(e.node.id),1)):H("",!0),(null==(l=e.node)?void 0:l.is_edit)?(S(),M("div",ze,[R(B(ee),{ref_key:"modifyRef",ref:i,modelValue:d.value,"onUpdate:modelValue":s[0]||(s[0]=e=>d.value=e),variant:"outline",size:"small",type:"text",onBlur:p,onKeydown:[Z(p,["enter"]),Z(p,["esc"])],style:{width:"100%"}},null,8,["modelValue"])])):void 0!==e.node.title?(S(),M("span",{key:2,class:"label",onDblclick:s[1]||(s[1]=D((t=>B(r)(e.node.id)),["stop"]))},z(e.node.title),33)):(S(),M("span",{key:3,class:"label error",onDblclick:s[2]||(s[2]=D((t=>B(r)(e.node.id)),["stop"]))},z(e.node.type),33))]),C("div",He,[R(B(q),{size:"small",icon:e.node.mode==B(c).ALWAYS?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:s[3]||(s[3]=D((e=>t.$emit("changeMode")),["stop"])),onMousedown:s[4]||(s[4]=D((e=>t.$emit("mousedown")),["stop"])),onMouseup:s[5]||(s[5]=D((e=>t.$emit("mouseup")),["stop"]))},null,8,["icon"])])],2)}}},Qe={class:"left flex-1"},je={key:1,class:"edit"},Re={key:2,class:"label"},Oe={class:"right toolbar"},Ze={key:0,class:"child"},Ge={__name:"group",props:{item:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup(e){const t=e,s=u(),a=w(!1),l=w(null),n=w("");x((e=>t.item.info.is_edit),(e=>{e&&(n.value=t.item.info.title)}));const i=e=>{var a,l;let n=t.item;if(!(null==(a=n.info)?void 0:a.is_edit)&&(null==(l=n.children)?void 0:l.length)>0){let e=o.canvas.graph._groups.find((e=>e.pos[0]==n.info.pos[0]&&e.pos[1]==n.info.pos[1]));e&&(e.show_nodes=!e.show_nodes,s.setGroups(o.canvas.graph._groups))}},d=async()=>{let e=t.item,l=o.canvas.graph._groups.find((t=>t.pos[0]==e.info.pos[0]&&t.pos[1]==e.info.pos[1]));l?(l.is_edit=!1,l.title=n.value,await s.setGroups(o.canvas.graph._groups),a.value=!1):a.value=!1};return(t,s)=>{var a,o,u;return S(),M(_,null,[C("div",{class:E("comfyui-easyuse-map-nodes-group"),onClick:i},[C("div",Qe,[e.item.children?(S(),M("i",{key:0,class:E(["icon",e.item.info.show_nodes?"pi pi-folder-open":"pi pi-folder"]),style:Q({color:e.item.info.color})},null,6)):H("",!0),(null==(a=e.item.info)?void 0:a.is_edit)?(S(),M("div",je,[R(B(ee),{ref_key:"modifyRef",ref:l,modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=e=>n.value=e),variant:"outline",size:"small",type:"text",onBlur:d,onKeydown:[Z(d,["enter"]),Z(d,["esc"])],style:{width:"100%"}},null,8,["modelValue"])])):(S(),M("div",Re,[C("span",null,z(e.item.info.title),1)]))]),C("div",Oe,[(null==(o=e.item.children)?void 0:o.length)>0?(S(),j(B(q),{key:0,size:"small",icon:e.item.children.find((e=>e.mode==B(c).ALWAYS))?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:s[1]||(s[1]=D((e=>t.$emit("changeMode")),["stop"])),onMousedown:s[2]||(s[2]=D((e=>t.$emit("mousedown")),["stop"])),onMouseup:s[3]||(s[3]=D((e=>t.$emit("mouseup")),["stop"]))},null,8,["icon"])):H("",!0)])]),(null==(u=e.item.children)?void 0:u.length)>0&&e.item.info.show_nodes?(S(),M("div",Ze,[G(t.$slots,"default")])):H("",!0)],64)}}},Pe={__name:"tree",props:{item:Object,index:Number,showGroupOnly:Boolean},emits:["dragstart","dragend","dragover","contextmenu","changeGroupMode","changeNodeMode","mousedown","mouseup"],setup:e=>(t,s)=>{var a,l,o,n;const i=P("Tree",!0);return S(),M("li",{onDragstart:s[10]||(s[10]=s=>t.$emit("dragstart",s,e.index)),onDragend:s[11]||(s[11]=s=>t.$emit("dragend",s,e.index)),onDragover:s[12]||(s[12]=s=>t.$emit("dragover",s,e.index)),draggable:!0,onContextmenu:s[13]||(s[13]=D((s=>t.$emit("contextmenu",s,e.item)),["stop"]))},[(null==(a=e.item.children)?void 0:a.length)||(null==(o=null==(l=e.item)?void 0:l.info)?void 0:o.sub_groups)?(S(),j(Ge,{key:0,item:e.item,onChangeMode:s[4]||(s[4]=s=>t.$emit("changeGroupMode",e.item)),onMousedown:s[5]||(s[5]=s=>t.$emit("mousedown",e.item,"group")),onMouseup:s[6]||(s[6]=e=>t.$emit("mouseup"))},{default:O((()=>[C("ol",null,[(S(!0),M(_,null,N(e.item.children,((a,l)=>(S(),j(i,{key:l,item:a,index:l,showGroupOnly:e.showGroupOnly,onDragstart:e=>t.$emit("dragstart",e,l),onDragend:e=>t.$emit("dragend",e,l),onDragover:e=>t.$emit("dragover",e,l),onContextmenu:e=>t.$emit("contextmenu",e,a),onChangeGroupMode:s[0]||(s[0]=e=>t.$emit("changeGroupMode",e)),onChangeNodeMode:s[1]||(s[1]=e=>t.$emit("changeNodeMode",e)),onMousedown:s[2]||(s[2]=e=>t.$emit("mousedown",e[0],e[1])),onMouseup:s[3]||(s[3]=e=>t.$emit("mouseup"))},null,8,["item","index","showGroupOnly","onDragstart","onDragend","onDragover","onContextmenu"])))),128))])])),_:1},8,["item"])):e.showGroupOnly?H("",!0):(S(),j(Ve,{key:1,node:(null==(n=e.item)?void 0:n.info)||e.item,onChangeMode:s[7]||(s[7]=s=>{var a;return t.$emit("changeNodeMode",(null==(a=e.item)?void 0:a.info)||e.item)}),onMousedown:s[8]||(s[8]=s=>{var a;return t.$emit("mousedown",(null==(a=e.item)?void 0:a.info)||e.item,"node")}),onMouseup:s[9]||(s[9]=e=>t.$emit("mouseup"))},null,8,["node"]))],32)}},Ye={class:"title"},Le={class:"toolbar"},Ue={key:0},We={key:1},Te={key:2,class:"no_result",style:{height:"100%"}},Fe="comfyui-easyuse-map-nodes",$e={__name:"nodesMap",emits:["handleHeader"],setup(e){const a=u(),{groups_nodes:n,groups:i,nodes:d}=J(a),p=A((e=>t("EasyUse.NodesMap.DisplayGroupOnly"))),v=w(!1),m=e=>{v.value=!v.value,o.canvas.graph._groups.forEach((e=>{e.show_nodes=v.value})),a.setGroups(o.canvas.graph._groups)},g=w(""),h=A((e=>(null==d?void 0:d.value.filter((e=>{var t,s,a,l;return(null==(s=null==(t=e.id)?void 0:t.toString())?void 0:s.includes(g.value))||(null==(a=e.type)?void 0:a.includes(g.value))||(null==(l=e.title)?void 0:l.includes(g.value))})))||[])),y=w(null),f=w(!1),x=A((()=>f.value?[{label:s("Jump to this node"),icon:"pi pi-arrow-circle-right",visible:!0,command:()=>V(b.value)},{label:s("Rename node"),icon:"pi pi-file-edit",visible:!0,command:()=>Q(b.value)},{label:s("Delete node"),icon:"pi pi-trash",command:()=>Z(b.value),visible:!0}]:[{label:s("Rename group"),icon:"pi pi-file-edit",visible:!0,command:()=>P(b.value)},{label:s("Delete group"),icon:"pi pi-trash",command:()=>Y(b.value),visible:!0}])),b=w(null),I=(e,t)=>{b.value=t,f.value=!t.children,y.value.show(e)},V=e=>{r((null==e?void 0:e.info)?e.info.id:e.id)},Q=e=>{e.info?e.info.is_edit=!0:e.is_edit=!0},Z=e=>{const t=e.info?e.info.id:e.id;o.canvas.graph.beforeChange(),o.canvas.graph._nodes.splice(o.canvas.graph._nodes.findIndex((e=>e.id==t)),1),o.canvas.graph.afterChange(),o.canvas.setDirty(!0,!0),a.setNodes(o.canvas.graph._nodes)},P=e=>{e.info.is_edit=!0},Y=e=>{o.canvas.graph.beforeChange(),o.canvas.graph._groups.splice(o.canvas.graph._groups.findIndex((t=>t.id==e.info.id)),1),o.canvas.graph.afterChange(),o.canvas.setDirty(!0,!0),a.setGroups(o.canvas.graph._groups)};let L,U=0,W=0,T=!1;const F=(e,t=!1)=>{if(T)return void(T=!1);const s=e.children.find((e=>e.mode==c.ALWAYS)),l=e.children.map((e=>e.id));o.canvas.graph._nodes.forEach((e=>{l.includes(e.id)&&(e.mode=s?t?c.NEVER:c.BYPASS:c.ALWAYS,e.graph.change())})),a.setNodes(o.canvas.graph._nodes)},$=(e,t=!1)=>{if(T)return void(T=!1);const s=e.mode==c.ALWAYS,l=o.canvas.graph._nodes.find((t=>t.id==e.id));l&&(l.mode=s?t?c.NEVER:c.BYPASS:c.ALWAYS,l.graph.change(),a.setNodes(o.canvas.graph._nodes))},X=(e,t="group")=>{U=(new Date).getTime(),clearTimeout(L),L=setTimeout((s=>{"group"==t?F(e,!0):$(e,!0)}),500)},K=e=>{W=(new Date).getTime(),W-U>500&&(T=!0),clearTimeout(L)};let oe=w(null),ne=w(null);w(!1);const ie=(e,t)=>{oe.value=t,e.currentTarget.style.opacity="0.6",e.currentTarget.style.border="1px dashed yellow",e.dataTransfer.effectAllowed="move"},de=(e,n)=>{e.target.style.opacity="1",e.currentTarget.style.border="1px dashed transparent";if("Manual drag&drop sorting"!==t("EasyUse.NodesMap.Sorting"))return void l.warn(s("For drag and drop sorting, please find Nodes map sorting mode in Settings->EasyUse and change it to manual"));let i=o.canvas.graph._groups,d=i[oe.value],u=i[ne.value];o.canvas.graph._groups[oe.value]=u,o.canvas.graph._groups[ne.value]=d,a.setGroups(o.canvas.graph._groups)},ue=(e,t)=>{e.preventDefault(),e.currentIndex!=oe.value&&(ne.value=t)};return(e,t)=>{var a,l,o;return S(),M("div",{class:E(Fe)},[C("div",{class:E(Fe+"__header"),onMousedown:t[0]||(t[0]=t=>e.$emit("handleHeader",t))},[C("div",Ye,z(B(s)("NODES MAP")),1),C("div",Le,[(null==(a=B(i))?void 0:a.length)>0?k((S(),j(B(q),{key:0,icon:v.value?"pi pi-angle-double-down":"pi pi-angle-double-up",text:"",rounded:"",severity:"secondary",onClick:D(m,["stop"]),size:"small"},null,8,["icon"])),[[B(te),v.value?B(s)("Collapse All"):B(s)("Expand All"),void 0,{top:!0}]]):H("",!0),G(e.$slots,"icon")])],34),C("div",{class:E(Fe+"__content")},[C("div",{class:E(Fe+"__content-searchbox")},[R(B(ae),null,{default:O((()=>[R(B(ee),{class:"search-box-input",modelValue:g.value,"onUpdate:modelValue":t[1]||(t[1]=e=>g.value=e),placeholder:B(s)("Search by Node ID/Name..."),variant:"outlined",style:{width:"100%"}},null,8,["modelValue","placeholder"]),g.value?(S(),j(B(se),{key:1,class:"pi pi-times",onClick:t[2]||(t[2]=e=>g.value="")})):(S(),j(B(se),{key:0,class:"pi pi-search"}))])),_:1})],2),(null==(l=h.value)?void 0:l.length)>0&&g.value?(S(),M("ul",Ue,[(S(!0),M(_,null,N(h.value,((e,t)=>(S(),M("li",{key:t},[R(Ve,{node:e,onChangeMode:t=>$(e),onMousedown:t=>X(e,"node"),onMouseup:K},null,8,["node","onChangeMode","onMousedown"])])))),128))])):(null==(o=B(n))?void 0:o.length)>0&&!g.value?(S(),M("ul",We,[(S(!0),M(_,null,N(B(n),((e,t)=>(S(),j(Pe,{key:t,item:e,index:t,showGroupOnly:p.value,onDragstart:ie,onDragend:de,onDragover:ue,onContextmenu:I,onChangeGroupMode:F,onChangeNodeMode:$,onMousedown:X,onMouseup:K},null,8,["item","index","showGroupOnly"])))),128))])):(S(),M("div",Te,[R(Be,{icon:"pi pi-sitemap",title:B(s)("No Nodes",!0),message:g.value?B(s)("No nodes found in the search"):B(s)("No nodes found in the map",!0)},null,8,["title","message"])]))],2),R(B(le),{ref_key:"menuRef",ref:y,model:x.value,autoZIndex:!1,appendTo:"self"},null,8,["model"])])}}},Xe="comfyui-easyuse-toolbar",Je={__name:"index",setup(e){const t=u(),a=w(!1);x((e=>a.value),(e=>{e?t.watchGraph(!0):t.unwatchGraph()}));const l=w(null),o=e=>{const t=l.value;var s=e.clientX||0,a=e.clientY||0,o=t.offsetLeft,n=t.offsetTop;function i(e){var l=e.clientX,i=e.clientY,d=l-s,u=i-a;t.style.left=o+d+"px",t.style.top=n+u+"px"}document.addEventListener("mousemove",i),document.addEventListener("mouseup",(function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)}))};return(e,t)=>(S(),M(_,null,[C("div",{class:E(["flex-c",Xe])},[C("div",{class:E(["group flex-c",Xe+"-icon"]),onClick:t[0]||(t[0]=e=>a.value=!a.value)},t[3]||(t[3]=[C("svg",{class:"icon",t:"1714565543756",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"22538",width:"200",height:"200"},[C("path",{d:"M871.616 64H152.384c-31.488 0-60.416 25.28-60.416 58.24v779.52c0 32.896 26.24 58.24 60.352 58.24h719.232c34.112 0 60.352-25.344 60.352-58.24V122.24c0.128-32.96-28.8-58.24-60.288-58.24zM286.272 512c-23.616 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008A43.328 43.328 0 0 1 286.272 512z m0-202.496c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008a43.456 43.456 0 0 1-44.608 43.008zM737.728 512H435.904c-23.68 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.752 42.752 0 0 1-41.984 43.008z m0-202.496H435.904c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.88 42.88 0 0 1-42.048 43.008z","p-id":"22539",fill:"currentColor"})],-1)]),2),C("div",{class:E(["rocket flex-c",Xe+"-icon"]),onClick:t[1]||(t[1]=(...e)=>B(p)&&B(p)(...e))},t[4]||(t[4]=[C("svg",{class:"icon",t:"1714565020764",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7999",width:"200",height:"200"},[C("path",{d:"M810.438503 379.664884l-71.187166-12.777183C737.426025 180.705882 542.117647 14.602496 532.991087 7.301248c-12.777184-10.951872-32.855615-10.951872-47.45811 0-9.12656 7.301248-204.434938 175.229947-206.26025 359.586453l-67.536542 10.951871c-18.253119 3.650624-31.030303 18.253119-31.030303 36.506239v189.832442c0 10.951872 5.475936 21.903743 12.777184 27.379679 7.301248 5.475936 14.602496 9.12656 23.729055 9.12656h5.475936l133.247772-23.729055c40.156863 47.458111 91.265597 73.012478 151.500891 73.012477 60.235294 0 111.344029-27.379679 151.500891-74.837789l136.898396 23.729055h5.475936c9.12656 0 16.427807-3.650624 23.729055-9.12656 9.12656-7.301248 12.777184-16.427807 12.777184-27.379679V412.520499c1.825312-14.602496-10.951872-29.204991-27.379679-32.855615zM620.606061 766.631016H401.568627c-20.078431 0-36.506239 16.427807-36.506238 36.506239v109.518716c0 14.602496 9.12656 29.204991 23.729055 34.680927 14.602496 5.475936 31.030303 1.825312 40.156863-9.126559l16.427807-18.25312 32.855615 80.313726c5.475936 14.602496 18.253119 23.729055 34.680927 23.729055 16.427807 0 27.379679-9.12656 34.680927-23.729055l32.855615-80.313726 16.427807 18.25312c10.951872 10.951872 25.554367 14.602496 40.156863 9.126559 14.602496-5.475936 23.729055-18.253119 23.729055-34.680927v-109.518716c-3.650624-20.078431-20.078431-36.506239-40.156862-36.506239z",fill:"currentColor","p-id":"8000"})],-1)]),2)]),a.value?(S(),M("div",{key:0,ref_key:"nodesMapRef",ref:l,class:E(Xe+"-nodes-map")},[R($e,{onHandleHeader:o},{icon:O((()=>[k(R(B(q),{icon:"pi pi-times",text:"",rounded:"",severity:"secondary",onClick:t[2]||(t[2]=e=>a.value=!1),size:"small"},null,512),[[B(te),B(s)("Close"),void 0,{top:!0}]])])),_:1})],2)):H("",!0)],64))}},qe=X("fastCanvas",(()=>{const e=Y(null),t=w([]);return{canvas:e,selectedItems:t,updateSelectedItems:()=>{var s;const a=Array.from((null==(s=e.value)?void 0:s.selectedItems)??[]);t.value=a.map((e=>L(e)))},getCanvas:()=>(e.value||(e.value=o.canvas,e.value.render_canvas_border=!1),e.value)}}));function Ke(e={}){const{useTransform:t=!1}=e,s=qe().getCanvas(),{canvasPosToClientPos:a}=((e,t)=>{const{left:s,top:a}=ie(e);return{clientPosToCanvasPos:e=>{const{offset:l,scale:o}=t.ds;return[(e[0]-s.value)/o-l[0],(e[1]-a.value)/o-l[1]]},canvasPosToClientPos:e=>{const{offset:l,scale:o}=t.ds;return[(e[0]+l[0])*o+s.value,(e[1]+l[1])*o+a.value]}}})(s.canvas,s),l=w({pos:[0,0],size:[0,0]});return{style:A((()=>{const{pos:e,size:o,scale:n=s.ds.scale}=l.value,[i,d]=a(e),[u,r]=o;return t?{position:"fixed",transformOrigin:"0 0",transform:`scale(${n})`,left:`${i}px`,top:`${d}px`,width:`${u}px`,height:`${r}px`}:{position:"fixed",left:`${i}px`,top:`${d}px`,width:u*n+"px",height:r*n+"px"}})),updatePosition:e=>{l.value=e}}}const et=(e={})=>{const t=w({}),{margin:s=4}=e,a=(e,t,a,l)=>{if(!a&&l){const{scale:a,offset:o}=l,n=function(e,t){const s=Math.max(e.x,t.x),a=Math.max(e.y,t.y),l=Math.min(e.x+e.width,t.x+t.width),o=Math.min(e.y+e.height,t.y+t.height);return s>=l||a>=o?null:[s,a,l-s,o-a]}({x:e.left-t.left,y:e.top-t.top,width:e.width,height:e.height},{x:(l.x+o[0]-s)*a,y:(l.y+o[1]-s)*a,width:(l.width+2*s)*a,height:(l.height+2*s)*a});if(!n)return"";const i=(n[0]-e.left+t.left)/a+"px",d=(n[1]-e.top+t.top)/a+"px",u=n[2]/a+"px",r=n[3]/a+"px";return`polygon(0% 0%, 0% 100%, ${i} 100%, ${i} ${d}, calc(${i} + ${u}) ${d}, calc(${i} + ${u}) calc(${d} + ${r}), ${i} calc(${d} + ${r}), ${i} 100%, 100% 100%, 100% 0%)`}return""};return{style:t,updateClipPath:(e,s,l,o)=>{const n=e.getBoundingClientRect(),i=s.getBoundingClientRect(),d=a(n,i,l,o);t.value={clipPath:d||"none",willChange:"clip-path"}}}},tt=["title"],st=((e,t)=>{const s=e.__vccOpts||e;for(const[a,l]of t)s[a]=l;return s})({__name:"domWidget",props:{widgetState:{type:Object,default:()=>({widget:{},visible:!0,readonly:!1,zIndex:0})}},emits:["update:widgetValue"],setup(e,{emit:s}){var a,l;const o=e.widgetState.widget,n=s,i=w(void 0),{style:d,updatePosition:u}=Ke({useTransform:!0}),{style:r,updateClipPath:c}=et(),p=A((()=>({...d.value,...h.value?r.value:{},zIndex:e.widgetState.zIndex,pointerEvents:e.widgetState.readonly||o.computedDisabled?"none":"auto",opacity:o.computedDisabled?.5:1}))),g=qe(),h=A((e=>t("Comfy.DOMClippingEnabled")));if(x((()=>e.widgetState),(e=>{u(e),h.value&&(()=>{const e=g.canvas;if(!e||!i.value)return;const t=Object.values(e.selected_nodes??{})[0];if(!t)return;const s=t===o.node,a=null==t?void 0:t.renderArea,l=e.ds.offset,n=e.ds.scale,d=a?{x:a[0],y:a[1],width:a[2],height:a[3],scale:n,offset:[l[0],l[1]]}:void 0;c(i.value,e.canvas,s,d)})()}),{deep:!0}),x((()=>e.widgetState.visible),((e,t)=>{var s,a;!e&&t&&(null==(a=(s=o.options).onHide)||a.call(s,o))})),v(o)){o.element.blur&&de(document,"mousedown",(e=>{o.element.contains(e.target)||o.element.blur()}));for(const e of o.options.selectOn??["focus","click"])de(o.element,e,(()=>{const e=g.canvas;null==e||e.selectNode(o.node),null==e||e.bringToFront(o.node)}))}const y=o.node.constructor.nodeData,f=null==(l=null==(a=null==y?void 0:y.inputs)?void 0:a[o.name])?void 0:l.tooltip;return V((()=>{v(o)&&i.value&&i.value.appendChild(o.element)})),(t,s)=>k((S(),M("div",{ref_key:"widgetElement",ref:i,class:"dom-widget",title:B(f),style:Q(p.value)},[B(m)(B(o))?(S(),j(W(B(o).component),{key:0,"model-value":B(o).value,widget:B(o),"onUpdate:modelValue":s[0]||(s[0]=e=>n("update:widgetValue",e))},null,8,["model-value","widget"])):H("",!0)],12,tt)),[[U,e.widgetState.visible]])}},[["__scopeId","data-v-f8c9efe3"]]),at={class:"isolate"},lt={__name:"domWidgets",setup(e){const t=qe(),s=g(),a=A((()=>Array.from(s.widgetStates.values())));return x((()=>t.canvas),(e=>{e&&(e.onDrawForeground=h(e.onDrawForeground,(()=>{(()=>{var e;const a=t.canvas;if(!a)return;const l=a.low_quality;for(const t of s.widgetStates.values()){const s=t.widget,o=s.node,n=a.isNodeVisible(o)&&!(s.options.hideOnZoom&&l)&&s.isVisible();if(t.visible=n,n){const l=s.margin;t.pos=[o.pos[0]+l,o.pos[1]+l+s.y],t.size=[(s.width??o.width)-2*l,(s.computedHeight??50)-2*l],t.zIndex=(null==(e=a.graph)?void 0:e.nodes.indexOf(o))??-1,t.readonly=a.read_only}}})()})))}),{immediate:!0}),(e,t)=>(S(),M("div",at,[(S(!0),M(_,null,N(a.value,(e=>(S(),j(st,{key:e.widget.id,"widget-state":e,"onUpdate:widgetValue":t=>e.widget.value=t},null,8,["widget-state","onUpdate:widgetValue"])))),128))]))}},ot={__name:"index",setup(e){const t=u();return V((e=>{t.watchGraph()})),(e,t)=>(S(),M("div",{class:E("comfyui-easyuse-map")},[R($e)]))}},nt="Comfy.UseNewMenu",it={__name:"App",setup(e){const l=w(null);return V((e=>{try{(async()=>{t("EasyUse.NodesMap.Enable",null)&&o.extensionManager.registerSidebarTab({id:y,icon:"pi pi-sitemap",title:s("Nodes Map (shift + m)",!0),tooltip:s("Nodes Map (shift + m)",!0),type:"custom",render:e=>{e.style.height="100%",T(F(ot,{}),e)}});const e=await a.fetchApi("/easyuse/version");if(200===e.status){let t=await e.json();t.version&&o.registerExtension({name:"EasyUse Version",aboutPageBadges:[{label:"EasyUse v"+t.version,url:"https://github.com/yolain/ComfyUI-Easy-Use",icon:"pi pi-github"}]})}l.value=t(nt),f(nt,(e=>{l.value=e}))})()}catch(n){}})),(e,t)=>(S(),M(_,null,[R(Ce),t[0]||(t[0]=C("img",{id:"easyuse-model-thumbnail"},null,-1)),"Disabled"==l.value?(S(),j(Je,{key:0})):H("",!0),R(lt)],64))}},dt=null==(e=document.getElementsByClassName("graph-canvas-container"))?void 0:e[0],ut=document.createElement("div");ut.id="comfyui-easyuse-components",dt?dt.append(ut):document.body.append(ut);const rt=$(it);rt.use(ue),rt.use(oe()),rt.mount("#"+ut.id); +!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";.easyuse-prompt-await-select .p-select-label{font-size:12px!important}.easyuse-prompt-await-select .p-select-dropdown{width:1.5rem!important}.easyuse-prompt-await-select .p-select-dropdown svg{width:12px!important;height:12px!important}.easyuse-multiselect{font-size:12px;padding:0 15px;--p-chip-remove-icon-size: .75rem;--p-chip-remove-icon-focus-ring-width: var(--p-focus-ring-width);--p-chip-remove-icon-focus-ring-style: var(--p-focus-ring-style);--p-chip-remove-icon-focus-ring-color: var(--p-focus-ring-color);--p-chip-remove-icon-focus-ring-offset: var(--p-focus-ring-offset);--p-chip-remove-icon-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-chip-icon-size: .75rem;--p-chip-image-width: 2rem;--p-chip-image-height: 2rem;--p-chip-border-radius: 16px;--p-chip-padding-x: .25rem;--p-chip-padding-y: .5rem;--p-chip-gap: .25rem;--p-chip-transition-duration: var(--p-transition-duration);--p-chip-remove-icon-color: var(--input-text);--p-chip-icon-color: var(--input-text);--p-chip-background: var(--content-bg);--p-chip-color: var(--input-text);--p-checkbox-icon-size: .875rem;--p-checkbox-icon-color: var(--p-form-field-color);--p-checkbox-icon-checked-color: var(--p-primary-contrast-color);--p-checkbox-icon-checked-hover-color: var(--p-primary-contrast-color);--p-checkbox-icon-disabled-color: var(--p-form-field-disabled-color);--p-checkbox-icon-lg-size: 1rem;--p-checkbox-icon-sm-size: .75rem;--p-checkbox-border-radius: var(--p-border-radius-sm);--p-checkbox-width: 1rem;--p-checkbox-height: 1rem;--p-checkbox-background: var(--p-form-field-background);--p-checkbox-checked-background: var(--p-primary-color);--p-checkbox-checked-hover-background: var(--p-primary-hover-color);--p-checkbox-disabled-background: var(--p-form-field-disabled-background);--p-checkbox-filled-background: var(--p-form-field-filled-background);--p-checkbox-border-color: var(--p-form-field-border-color);--p-checkbox-hover-border-color: var(--p-form-field-hover-border-color);--p-checkbox-focus-border-color: var(--p-form-field-border-color);--p-checkbox-checked-border-color: var(--p-primary-color);--p-checkbox-checked-hover-border-color: var(--p-primary-hover-color);--p-checkbox-checked-focus-border-color: var(--p-primary-color);--p-checkbox-checked-disabled-border-color: var(--p-form-field-border-color);--p-checkbox-invalid-border-color: var(--p-form-field-invalid-border-color);--p-checkbox-shadow: var(--p-form-field-shadow);--p-checkbox-transition-duration: var(--p-form-field-transition-duration);--p-checkbox-lg-width: 1.5rem;--p-checkbox-lg-height: 1.5rem;--p-checkbox-sm-width: 1rem;--p-checkbox-sm-height: 1rem;--p-checkbox-focus-ring-width: var(--p-focus-ring-width);--p-checkbox-focus-ring-style: var(--p-focus-ring-style);--p-checkbox-focus-ring-color: var(--p-focus-ring-color);--p-checkbox-focus-ring-offset: var(--p-focus-ring-offset);--p-checkbox-focus-ring-shadow: var(--p-focus-ring-shadow);--p-multiselect-empty-message-padding: var(--p-list-option-padding);--p-multiselect-clear-icon-color: var(--p-form-field-icon-color);--p-multiselect-chip-border-radius: var(--p-border-radius-sm);--p-multiselect-option-group-background: var(--p-list-option-group-background);--p-multiselect-option-group-color: var(--p-list-option-group-color);--p-multiselect-option-group-font-weight: var(--p-list-option-group-font-weight);--p-multiselect-option-group-padding: var(--p-list-option-group-padding);--p-multiselect-option-focus-background: var(--p-list-option-focus-background);--p-multiselect-option-selected-background: var(--p-list-option-selected-background);--p-multiselect-option-selected-focus-background: var(--p-list-option-selected-focus-background);--p-multiselect-option-color: var(--p-list-option-color);--p-multiselect-option-focus-color: var(--p-list-option-focus-color);--p-multiselect-option-selected-color: var(--p-list-option-selected-color);--p-multiselect-option-selected-focus-color: var(--p-list-option-selected-focus-color);--p-multiselect-option-padding: .25rem;--p-multiselect-option-border-radius: var(--p-list-option-border-radius);--p-multiselect-option-gap: .5rem;--p-multiselect-list-padding: var(--p-list-padding);--p-multiselect-list-gap: var(--p-list-gap);--p-multiselect-list-header-padding: .25rem;--p-multiselect-overlay-background: var(--p-overlay-select-background);--p-multiselect-overlay-border-color: var(--p-overlay-select-border-color);--p-multiselect-overlay-border-radius: var(--p-overlay-select-border-radius);--p-multiselect-overlay-color: var(--p-overlay-select-color);--p-multiselect-overlay-shadow: var(--p-overlay-select-shadow);--p-multiselect-dropdown-width: 1.25rem;--p-multiselect-dropdown-color: var(--input-text);--p-multiselect-background: var(--comfy-input-bg);--p-multiselect-disabled-background: var(--p-form-field-disabled-background);--p-multiselect-filled-background: var(--p-form-field-filled-background);--p-multiselect-filled-hover-background: var(--p-form-field-filled-hover-background);--p-multiselect-filled-focus-background: var(--p-form-field-filled-focus-background);--p-multiselect-border-color: var(--border-color);--p-multiselect-hover-border-color: var(--border-color);--p-multiselect-focus-border-color: var(--border-color);--p-multiselect-invalid-border-color: var(--p-form-field-invalid-border-color);--p-multiselect-color: var(--p-form-field-color);--p-multiselect-disabled-color: var(--p-form-field-disabled-color);--p-multiselect-placeholder-color:var(--descrip-text);--p-multiselect-invalid-placeholder-color: var(--p-form-field-invalid-placeholder-color);--p-multiselect-shadow: var(--p-form-field-shadow);--p-multiselect-padding-x: 8px;--p-multiselect-padding-y: 2px;--p-multiselect-border-radius: 10px;--p-multiselect-transition-duration: var(--p-form-field-transition-duration);--p-multiselect-lg-font-size: var(--p-form-field-lg-font-size);--p-multiselect-lg-padding-x: var(--p-form-field-lg-padding-x);--p-multiselect-lg-padding-y: var(--p-form-field-lg-padding-y);--p-multiselect-sm-font-size: var(--p-form-field-sm-font-size);--p-multiselect-sm-padding-x: var(--p-form-field-sm-padding-x);--p-multiselect-sm-padding-y: var(--p-form-field-sm-padding-y);--p-multiselect-focus-ring-width: var(--p-form-field-focus-ring-width);--p-multiselect-focus-ring-style: var(--p-form-field-focus-ring-style);--p-multiselect-focus-ring-color: var(--p-form-field-focus-ring-color);--p-multiselect-focus-ring-offset: var(--p-form-field-focus-ring-offset);--p-multiselect-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-icon-size: .7rem;--p-inputtext-padding-y: .15rem;--p-inputtext-padding-x: .25rem}.easyuse-multiselect .p-multiselect-list{flex-wrap:wrap;flex-direction:row}.comfyui-easyuse .easyuse-multiselect{font-size:11px;--p-multiselect-padding-y: 2px;padding:0 10px;--p-multiselect-border-radius: var(--p-form-field-border-radius);--p-multiselect-placeholder-color: #d4d4d8;--p-multiselect-dropdown-color: var(--input-text);--p-multiselect-border-color: var(--p-form-field-border-color);--p-multiselect-hover-border-color: var(--p-form-field-hover-border-color);--p-multiselect-focus-border-color: var(--p-form-field-focus-border-color)}img[data-v-604a4248]{transition:transform 1s cubic-bezier(.2,0,.4,1)}.lazy-image-container[data-v-c6211f86]{position:relative;width:100%;height:100%}.lazy-image-placeholder[data-v-c6211f86],.lazy-image-error[data-v-c6211f86]{transition:background-color .2s ease}img[data-v-c6211f86]{transition:opacity .3s ease}.selector-card-wrapper[data-v-3c47be14]{width:100%}.card-item[data-v-3c47be14]{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--comfy-menu-bg);border-radius:8px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.dark .card-item[data-v-3c47be14]{background-color:var(--surface-900);border-color:var(--surface-700)}.card-item[data-v-3c47be14]:hover{box-shadow:0 4px 12px #00000026;border:1px solid var(--input-text)}.card-item.clickable[data-v-3c47be14]{cursor:pointer}.card-item.selected[data-v-3c47be14]{border:1px solid var(--success-color, #4CAF50)}.card-image-container[data-v-3c47be14]{position:relative}.card-image[data-v-3c47be14]{width:100%;height:80px;object-fit:cover;transition:transform .2s ease;background:var(--bg-color)}.card-item:hover .card-image[data-v-3c47be14]{transform:scale(1.05)}.selection-badge[data-v-3c47be14]{position:absolute;top:4px;right:4px;width:10px;height:10px;background-color:var(--success-color, #4CAF50);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d;z-index:10;animation:scaleIn-3c47be14 .2s ease-out}.selection-badge i[data-v-3c47be14]{font-size:6px;font-weight:700;color:#fff}@keyframes scaleIn-3c47be14{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.card-actions[data-v-3c47be14]{position:absolute;top:8px;left:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.card-item:hover .card-actions[data-v-3c47be14]{opacity:1}.card-content[data-v-3c47be14]{padding:2px 4px}.card-title[data-v-3c47be14]{color:var(--input-text);font-size:8px;font-weight:400;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;transition:color .2s ease}.dark .card-title[data-v-3c47be14]{color:var(--surface-0)}.card-item.selected .card-title[data-v-3c47be14]{color:var(--primary-600);font-weight:500}.dark .card-item.selected .card-title[data-v-3c47be14]{color:var(--primary-300)}.list-item[data-v-c93b1734]{display:inline-block;position:relative}.list-item__tag[data-v-c93b1734]{display:inline-block;vertical-align:middle;margin-top:8px;margin-right:8px;padding:4px;color:var(--input-text);background-color:var(--bg-color);border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.list-item__tag[data-v-c93b1734]:hover{filter:brightness(1.2)}.list-item__tag input[type=checkbox][data-v-c93b1734]{--ring-color: transparent;position:relative;box-shadow:none;background:linear-gradient(135deg,var(--comfy-menu-bg) 0%,var(--comfy-input-bg) 60%);display:inline-block;flex-shrink:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color);background-origin:border-box;padding:0;width:1rem;height:1rem;border-radius:4px;color:var(--theme-color);-webkit-user-select:none;user-select:none;margin-right:4px}.list-item__tag input[type=checkbox][data-v-c93b1734]:checked{border:1px solid var(--theme-color);background-color:var(--theme-color);background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 16 16\' fill=\'white\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath d=\'M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z\'/%3e%3c/svg%3e")}.list-item-content[data-v-c93b1734]{margin:0 4px;vertical-align:middle;display:inline-block}.list-title[data-v-c93b1734]{color:inherit;font-size:10px;font-weight:500;margin:0;line-height:1.4;word-break:break-word;display:block}.list-description[data-v-c93b1734]{color:var(--input-text);font-size:10px;line-height:1.4;margin:2px 0 0;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 768px){.list-item__tag[data-v-c93b1734]{padding:6px;margin-right:6px;margin-top:6px}}@media (max-width: 480px){.list-item__tag[data-v-c93b1734]{padding:4px;margin-right:4px;margin-top:4px}.list-title[data-v-c93b1734]{font-size:11px}.list-description[data-v-c93b1734]{font-size:9px}}.easyuse-styles-selector{position:relative;padding:6px 10px;height:calc(100% - 12px);--p-inputtext-padding-y: 4px;--p-form-field-padding-x: 6px;--p-button-sm-padding-y: 0px;--p-icon-size: 12px;--p-button-icon-only-width: 24px;--p-button-sm-font-size: 12px;--p-togglebutton-content-left: 2px;--p-togglebutton-content-top: 2px}.easyuse-styles-selector .p-inputtext{font-size:11px}.easyuse-styles-selector .p-togglebutton{padding:0 6px}.easyuse-styles-selector-content{list-style:none;padding:0;margin:0;min-height:150px;height:calc(100% - 12px);overflow-y:auto;overflow-x:hidden}.easyuse-styles-selector-content .grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));padding:4px 0;gap:8px}.easyuse-styles-selector-content .list-container{list-style:none;padding:6px 0;margin:0;display:flex;flex-wrap:wrap}.easyuse-styles-selector-previewer{position:absolute;top:0;left:-150px;width:130px;padding:8px;z-index:2;border-radius:var(--border-radius);background:var(--comfy-menu-bg);overflow:hidden;box-shadow:0 4px 12px #00000026}.easyuse-styles-selector-previewer__text{color:var(--input-text)}.easyuse-styles-selector-previewer__text .title{line-height:1;font-size:10px}.easyuse-styles-selector-previewer__text h6{line-height:1;font-size:8px;margin:8px 0}.easyuse-styles-selector-previewer__text h6 .comfyui-easyuse-success{color:#22c55e;font-weight:600}.easyuse-styles-selector-previewer__text h6 .comfyui-easyuse-error{color:#ef4444;font-weight:600}.easyuse-styles-selector-previewer__text h6 span:last-child{color:var(--input-text);font-weight:400;margin-left:4px}\n@charset "UTF-8";.dom-widget[data-v-f8c9efe3]>*{@apply h-full w-full;}.easyuse-model-info{color:#fff;max-width:90vw;font-family:var(--font-family)}.easyuse-model-content{display:flex;flex-direction:column;overflow:hidden}.easyuse-model-header{margin:0 0 15px}.easyuse-model-header-remark{display:flex;align-items:center;margin-top:5px}.easyuse-model-info h2{text-align:left;margin:0}.easyuse-model-info h5{text-align:left;margin:0 15px 0 0;font-weight:400;color:var(--descrip-text)}.easyuse-model-info p{margin:5px 0}.easyuse-model-info a{color:var(--theme-color-light)}.easyuse-model-info a:hover{text-decoration:underline}.easyuse-model-tags-list{display:flex;flex-wrap:wrap;list-style:none;gap:10px;max-height:200px;overflow:auto;margin:10px 0;padding:0}.easyuse-model-tag{background-color:var(--comfy-input-bg);border:2px solid var(--border-color);color:var(--input-text);display:flex;align-items:center;gap:5px;border-radius:5px;padding:2px 5px;cursor:pointer}.easyuse-model-tag--selected span:before{content:"✅";position:absolute;background-color:var(--theme-color-light);left:0;top:0;right:0;bottom:0;text-align:center}.easyuse-model-tag:hover{border:2px solid var(--theme-color-light)}.easyuse-model-tag p{margin:0}.easyuse-model-tag span{text-align:center;border-radius:5px;background-color:var(--theme-color-light);padding:2px;position:relative;min-width:20px;overflow:hidden;color:#fff}.easyuse-model-metadata .comfy-modal-content{max-width:100%}.easyuse-model-metadata label{margin-right:1ch;color:#ccc}.easyuse-model-metadata span{color:var(--theme-color-light)}.easyuse-preview{max-width:660px;margin-right:15px;position:relative}.easyuse-preview-group{position:relative;overflow:hidden;border-radius:.5rem;width:660px}.easyuse-preview-list{display:flex;flex-wrap:nowrap;width:100%;transition:all .5s ease-in-out}.easyuse-preview-list.no-transition{transition:none}.easyuse-preview-slide{display:flex;flex-basis:calc(50% - 5px);flex-grow:0;flex-shrink:0;position:relative;justify-content:center;align-items:center;padding-right:5px;padding-left:0}.easyuse-preview-slide:nth-child(2n){padding-left:5px;padding-right:0}.easyuse-preview-slide-content{position:relative;min-height:150px;width:100%}.easyuse-preview-slide-content .save{position:absolute;right:6px;z-index:12;bottom:6px;display:flex;align-items:center;height:26px;padding:0 9px;color:var(--input-text);font-size:12px;line-height:26px;background:#00000080;border-radius:13px;cursor:pointer;min-width:80px;text-align:center}.easyuse-preview-slide-content .save:hover{filter:brightness(120%);will-change:auto}.easyuse-preview-slide-content img{border-radius:14px;object-position:center center;max-width:100%;max-height:700px;border-style:none;vertical-align:middle}.easyuse-preview button{position:absolute;z-index:10;top:50%;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:15px;border:1px solid rgba(66,63,78,.15);background-color:#423f4e80;color:#fffc;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transform:translateY(-50%)}.easyuse-preview button.left{left:10px}.easyuse-preview button.right{right:10px}.easyuse-model-detail{margin-top:16px;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;width:300px}.easyuse-model-detail-head{height:40px;padding:0 10px;font-weight:500;font-size:14px;font-style:normal;line-height:40px}.easyuse-model-detail-body{box-sizing:border-box;font-size:12px}.easyuse-model-detail-item{display:flex;justify-content:flex-start;border-top:1px solid var(--border-color)}.easyuse-model-detail-item-label{flex-shrink:0;width:88px;padding-top:5px;padding-bottom:5px;padding-left:10px;border-right:1px solid var(--border-color);color:var(--input-text);font-weight:400}.easyuse-model-detail-item-value{display:flex;flex-wrap:wrap;padding:5px 10px;color:var(--input-text)}.easyuse-model-detail-textarea{border-top:1px solid var(--border-color);padding:10px;height:100px;overflow-y:auto;font-size:12px}.easyuse-model-detail-textarea textarea{width:100%;height:100%;border:0;background-color:transparent;color:var(--input-text)}.easyuse-model-detail-textarea textarea::placeholder{color:var(--descrip-text)}.easyuse-model-detail-textarea.empty{display:flex;justify-content:center;align-items:center;color:var(--descrip-text)}.easyuse-model-notes{background-color:#00000040;padding:5px;margin-top:5px}.easyuse-model-notes:empty{display:none}.easyuse-account-user{font-size:10px;color:var(--descrip-text);text-align:center}.easyuse-account-user-info{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;cursor:pointer}.easyuse-account-user-info .user{display:flex;align-items:center}.easyuse-account-user-info .edit{padding:5px 10px;background:var(--comfy-menu-bg);border-radius:4px}.easyuse-account-user-info:hover{filter:brightness(110%)}.easyuse-account-user-info h5{margin:0;font-size:10px;text-align:left}.easyuse-account-user-info h6{margin:0;font-size:8px;text-align:left;font-weight:300}.easyuse-account-user-info .remark{margin-top:4px}.easyuse-account-user-info .avatar{width:36px;height:36px;background:var(--comfy-input-bg);border-radius:50%;margin-right:5px;display:flex;justify-content:center;align-items:center;font-size:16px;overflow:hidden}.easyuse-account-user-info .avatar img{width:100%;height:100%}.easyuse-account-dialog{width:600px}.easyuse-account-dialog-main a,.easyuse-account-dialog-main a:visited{font-weight:400;color:var(--theme-color-light)}.easyuse-account-dialog-item{display:flex;justify-content:flex-start;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.easyuse-account-dialog-item input{padding:5px;margin-right:5px}.easyuse-account-dialog-item input.key{flex:1}.easyuse-account-dialog-item button{cursor:pointer;margin-left:5px!important;padding:5px!important;font-size:16px!important}.easyuse-account-dialog-item button:hover{filter:brightness(120%)}.easyuse-account-dialog-item button.choose{background:var(--theme-color)}.easyuse-account-dialog-item button.delete{background:var(--error-color)}.easy-dropdown,.easy-nested-dropdown{position:relative;box-sizing:border-box;background-color:#171717;box-shadow:0 4px 4px #ffffff40;padding:0;margin:0;list-style:none;z-index:1000;overflow:visible;max-height:fit-content;max-width:fit-content}.easy-dropdown{position:absolute;border-radius:0}.easy-dropdown li.item,.easy-nested-dropdown li.item{font-weight:400;min-width:max-content}.easy-dropdown li.folder,.easy-nested-dropdown li.folder{cursor:default;position:relative;border-right:3px solid cyan}.easy-dropdown li.folder:after,.easy-nested-dropdown li.folder:after{content:">";position:absolute;right:2px;font-weight:400}.easy-dropdown li,.easy-nested-dropdown li{padding:4px 10px;cursor:pointer;font-family:system-ui;font-size:.7rem;position:relative}.easy-nested-dropdown{position:absolute;top:0;left:100%;margin:0;border:none;display:none}.easy-dropdown li.selected>.easy-nested-dropdown,.easy-nested-dropdown li.selected>.easy-nested-dropdown{display:block;border:none}.easy-dropdown li.selected,.easy-nested-dropdown li.selected{background-color:#e5e5e5;border:none}#crystools-root-easyuse{flex-direction:row;justify-content:center;flex-shrink:1;width:min-content;min-width:max-content;height:100%;margin:0 auto}#crystools-root-easyuse .crystools-monitor-container{width:100%;cursor:crosshair;display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-end;gap:5px;height:100%}#crystools-root-easyuse .crystools-monitor-container .crystools-monitor{background-color:var(--comfy-input-bg);position:relative;align-items:center;flex-direction:row;width:40px;height:100%}#crystools-root-easyuse .crystools-monitor-container .crystools-monitor .crystools-text{font-size:10px;text-align:right;margin-left:3px;position:absolute;font-weight:100;bottom:2px;z-index:10}#crystools-root-easyuse .crystools-monitor-container .crystools-content{position:relative;height:100%}#crystools-root-easyuse .crystools-monitor-container .crystools-slider{position:absolute;height:100%;width:0;box-shadow:inset 2px 2px 10px #0003}#crystools-root-easyuse .crystools-monitor-container .crystools-label{position:relative;width:100%;color:var(--input-text);font-weight:500;font-size:11px;left:2px;top:4px;text-align:right}:root{--theme-color:var(--p-primary-color, #60a5fa);--theme-color-light: var(--p-primary-hover-color, #93c5fd);--success-color: #52c41a;--error-color: #ff4d4f;--warning-color: #faad14;--font-family: Inter, -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif;--p-inputtext-background: var(--p-form-field-background);--p-inputtext-disabled-background: var(--p-form-field-disabled-background);--p-inputtext-filled-background: var(--p-form-field-filled-background);--p-inputtext-filled-focus-background: var(--p-form-field-filled-focus-background);--p-inputtext-border-color: var(--p-form-field-border-color);--p-inputtext-hover-border-color: var(--p-form-field-hover-border-color);--p-inputtext-focus-border-color: var(--p-form-field-focus-border-color);--p-inputtext-invalid-border-color: var(--p-form-field-invalid-border-color);--p-inputtext-color: var(--p-form-field-color);--p-inputtext-disabled-color: var(--p-form-field-disabled-color);--p-inputtext-placeholder-color: var(--p-form-field-placeholder-color);--p-inputtext-shadow: var(--p-form-field-shadow);--p-inputtext-padding-x: var(--p-form-field-padding-x);--p-inputtext-padding-y: var(--p-form-field-padding-y);--p-inputtext-border-radius: var(--p-form-field-border-radius);--p-inputtext-focus-ring-width: var(--p-form-field-focus-ring-width);--p-inputtext-focus-ring-style: var(--p-form-field-focus-ring-style);--p-inputtext-focus-ring-color: var(--p-form-field-focus-ring-color);--p-inputtext-focus-ring-offset: var(--p-form-field-focus-ring-offset);--p-inputtext-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-inputtext-transition-duration: var(--p-form-field-transition-duration);--p-inputtext-sm-font-size: .875rem;--p-inputtext-sm-padding-x: .625rem;--p-inputtext-sm-padding-y: .375rem;--p-inputtext-lg-font-size: 1.125rem;--p-inputtext-lg-padding-x: .875rem;--p-inputtext-lg-padding-y: .625rem;--p-tooltip-max-width: 12.5rem;--p-tooltip-gutter: .25rem;--p-tooltip-shadow: var(--p-overlay-popover-shadow);--p-tooltip-padding: .5rem .75rem;--p-tooltip-border-radius: var(--p-overlay-popover-border-radius);--p-tooltip-background: var(--p-surface-700);--p-tooltip-color: var(--p-surface-0)}.comfyui-easyuse-theme,.comfyui-easyuse-primary{color:var(--theme-color-light)}.comfyui-easyuse-theme.point:hover,.comfyui-easyuse-primary.point:hover{opacity:.8}.comfyui-easyuse-success{color:var(--success-color)}.comfyui-easyuse-success.point:hover{opacity:.8}.comfyui-easyuse-error{color:var(--error-color)}.comfyui-easyuse-error.point:hover{opacity:.8}.comfyui-easyuse-warning,.comfyui-easyuse--warn{color:var(--warning-color)}.comfyui-easyuse-warning.point:hover,.comfyui-easyuse--warn.point:hover{opacity:.8}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-3\\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-\\[0\\.28rem\\]{gap:.28rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-6{row-gap:1.5rem}@media (min-width: 576px){.sm\\:col-span-4{grid-column:span 4/span 4}.sm\\:col-span-6{grid-column:span 6/span 6}.sm\\:ml-8{margin-left:2rem}.sm\\:mt-0{margin-top:0}.sm\\:flex{display:flex}.sm\\:h-60{height:15rem}.sm\\:\\!w-64{width:16rem!important}.sm\\:w-40{width:10rem}.sm\\:w-44{width:11rem}.sm\\:w-56{width:14rem}.sm\\:w-60{width:15rem}.sm\\:w-64{width:16rem}.sm\\:w-80{width:20rem}.sm\\:w-96{width:24rem}.sm\\:w-\\[30rem\\]{width:30rem}.sm\\:w-auto{width:auto}.sm\\:min-w-\\[30rem\\]{min-width:30rem}.sm\\:flex-row{flex-direction:row}.sm\\:flex-col{flex-direction:column}.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:items-start{align-items:flex-start}.sm\\:items-end{align-items:flex-end}.sm\\:items-center{align-items:center}.sm\\:justify-center{justify-content:center}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-2{gap:.5rem}.sm\\:p-20{padding:5rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.sm\\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.sm\\:pt-32{padding-top:8rem}.sm\\:text-left{text-align:left}.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\\:-bottom-12{bottom:-3rem}.md\\:-bottom-28{bottom:-7rem}.md\\:-bottom-8{bottom:-2rem}.md\\:-bottom-\\[26rem\\]{bottom:-26rem}.md\\:-left-12{left:-3rem}.md\\:-left-28{left:-7rem}.md\\:-left-32{left:-8rem}.md\\:-left-4{left:-1rem}.md\\:-left-48{left:-12rem}.md\\:-left-\\[22rem\\]{left:-22rem}.md\\:bottom-0{bottom:0}.md\\:left-10{left:2.5rem}.md\\:left-\\[32rem\\]{left:32rem}.md\\:left-\\[42rem\\]{left:42rem}.md\\:top-1\\/2{top:50%}.md\\:top-32{top:8rem}.md\\:top-8{top:2rem}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:col-span-4{grid-column:span 4/span 4}.md\\:col-span-6{grid-column:span 6/span 6}.md\\:ml-auto{margin-left:auto}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:h-\\[20rem\\]{height:20rem}.md\\:h-\\[32rem\\]{height:32rem}.md\\:\\!w-80{width:20rem!important}.md\\:w-2\\/12{width:16.666667%}.md\\:w-40{width:10rem}.md\\:w-5\\/12{width:41.666667%}.md\\:w-56{width:14rem}.md\\:w-6\\/12{width:50%}.md\\:w-60{width:15rem}.md\\:w-8\\/12{width:66.666667%}.md\\:w-80{width:20rem}.md\\:w-\\[100rem\\]{width:100rem}.md\\:w-\\[26rem\\]{width:26rem}.md\\:w-\\[30rem\\]{width:30rem}.md\\:w-\\[50rem\\]{width:50rem}.md\\:w-\\[52rem\\]{width:52rem}.md\\:w-\\[60rem\\]{width:60rem}.md\\:w-\\[95rem\\]{width:95rem}.md\\:w-screen{width:100vw}.md\\:flex-initial{flex:0 1 auto}.md\\:-translate-y-1\\/2{--tw-translate-y: -50% }.md\\:-translate-y-1\\/2,.md\\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:translate-x-0{--tw-translate-x: 0px }.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:flex-col{flex-direction:column}.md\\:items-end{align-items:flex-end}.md\\:items-center{align-items:center}.md\\:justify-start{justify-content:flex-start}.md\\:justify-center{justify-content:center}.md\\:gap-20{gap:5rem}.md\\:gap-4{gap:1rem}.md\\:p-5{padding:1.25rem}.md\\:p-8{padding:2rem}}@media (min-width: 992px){.lg\\:left-20{left:5rem}.lg\\:left-\\[36rem\\]{left:36rem}.lg\\:left-\\[50rem\\]{left:50rem}.lg\\:col-span-1{grid-column:span 1/span 1}.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:col-span-4{grid-column:span 4/span 4}.lg\\:col-span-6{grid-column:span 6/span 6}.lg\\:mb-0{margin-bottom:0}.lg\\:mt-0{margin-top:0}.lg\\:mt-20{margin-top:5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:h-10{height:2.5rem}.lg\\:h-32{height:8rem}.lg\\:h-\\[28rem\\]{height:28rem}.lg\\:\\!w-\\[30rem\\]{width:30rem!important}.lg\\:w-3\\/12{width:25%}.lg\\:w-32{width:8rem}.lg\\:w-\\[28rem\\]{width:28rem}.lg\\:w-\\[64rem\\]{width:64rem}.lg\\:w-fit{width:-moz-fit-content;width:fit-content}.lg\\:max-w-6xl{max-width:72rem}.lg\\:flex-row{flex-direction:row}.lg\\:gap-0{gap:0}.lg\\:rounded-2xl{border-radius:1rem}.lg\\:rounded-3xl{border-radius:1.5rem}.lg\\:rounded-xl{border-radius:.75rem}.lg\\:p-7{padding:1.75rem}.lg\\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\\:px-20{padding-left:5rem;padding-right:5rem}.lg\\:px-56{padding-left:14rem;padding-right:14rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\\:py-20{padding-bottom:5rem;padding-top:5rem}.lg\\:py-7{padding-bottom:1.75rem;padding-top:1.75rem}.lg\\:pt-0{padding-top:0}.lg\\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\\:text-5xl{font-size:3rem;line-height:1}.lg\\:text-base{font-size:1rem;line-height:1.5rem}.lg\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1200px){.xl\\:-left-12{left:-3rem}.xl\\:-left-28{left:-7rem}.xl\\:bottom-0{bottom:0}.xl\\:left-36{left:9rem}.xl\\:left-\\[42rem\\]{left:42rem}.xl\\:left-\\[60rem\\]{left:60rem}.xl\\:col-span-3{grid-column:span 3/span 3}.xl\\:col-span-4{grid-column:span 4/span 4}.xl\\:col-span-6{grid-column:span 6/span 6}.xl\\:block{display:block}.xl\\:flex{display:flex}.xl\\:hidden{display:none}.xl\\:h-\\[36\\.25rem\\]{height:36.25rem}.xl\\:\\!w-40{width:10rem!important}.xl\\:w-3\\/12{width:25%}.xl\\:w-6\\/12{width:50%}.xl\\:w-96{width:24rem}.xl\\:w-\\[29rem\\]{width:29rem}.xl\\:max-w-36{max-width:9rem}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}.xl\\:items-start{align-items:flex-start}.xl\\:items-center{align-items:center}.xl\\:gap-1{gap:.25rem}.xl\\:gap-6{gap:1.5rem}.xl\\:text-left{text-align:left}}.comfyui-easyuse-toast{position:fixed;z-index:99999;top:0;left:0;height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:start}.comfyui-easyuse-toast-container{position:relative;height:fit-content;padding:4px;margin-top:-100px;opacity:0;z-index:3;-webkit-transition:all .3s ease-in-out;-khtml-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.comfyui-easyuse-toast-container:last-child{z-index:1}.comfyui-easyuse-toast-container.show{opacity:1;margin-top:0!important;transform:translateY(0)}.comfyui-easyuse-toast-container:not(.show){z-index:1}.comfyui-easyuse-toast-container>div{position:relative;background:var(--comfy-menu-bg);color:var(--input-text);height:fit-content;box-shadow:0 0 10px #000000e0;padding:9px 12px;border-radius:var(--border-radius);font-size:14px;pointer-events:all;margin-top:40px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-toast-container>div>span{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-toast-container>div>span i{font-size:16px;margin-right:8px}.comfyui-easyuse-toast-container>div>span i.loading{animation:loading-rotate 1s linear infinite}.comfyui-easyuse-toast-container a{cursor:pointer;text-decoration:underline;color:var(--theme-color-light);margin-left:4px;display:inline-block;line-height:1}.comfyui-easyuse-toast-container a:hover{color:var(--theme-color-light);text-decoration:none}@keyframes loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comfyui-easyuse-chooser-dialog{max-width:600px}.comfyui-easyuse-chooser-dialog-title{font-size:18px;font-weight:700;text-align:center;color:var(--input-text);margin:0}.comfyui-easyuse-chooser-dialog-images{margin-top:10px;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box}.comfyui-easyuse-chooser-dialog-images img{width:50%;height:auto;cursor:pointer;box-sizing:border-box;filter:brightness(80%)}.comfyui-easyuse-chooser-dialog-images img:hover{filter:brightness(100%)}.comfyui-easyuse-chooser-dialog-images img.selected{border:4px solid var(--success-color)}.comfyui-easyuse-chooser-dialog-hidden{display:none;height:0}.comfyui-easyuse-contextmenu{--height: 26px;--padding: 8px;font-family:var(--font-family);position:fixed;top:0;left:0;width:100%;max-width:200px;min-width:100px;min-height:100px;padding:var(--padding) 0;box-shadow:0 0 10px #00000040;background-color:var(--tr-odd-bg-color);border-radius:var(--border-radius);z-index:10;will-change:transform}.comfyui-easyuse-contextmenu-item-divider{height:1px;width:100%;background-color:var(--border-color);margin:var(--padding) 0}.comfyui-easyuse-contextmenu-item-content{height:var(--height);padding:0 12px;cursor:pointer;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-contextmenu-item-content span{font-size:11px;color:var(--input-text);display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-contextmenu-item-content i{color:var(--input-text);margin-left:4px;display:block;width:0;height:0;border-width:4px 4px 0;border-style:solid;border-color:var(--descrip-text) transparent transparent;-webkit-transform:scaleY(.8) rotate(-90deg);-khtml-transform:scaleY(.8) rotate(-90deg);-moz-transform:scaleY(.8) rotate(-90deg);-ms-transform:scaleY(.8) rotate(-90deg);-o-transform:scaleY(.8) rotate(-90deg);transform:scaleY(.8) rotate(-90deg)}.comfyui-easyuse-contextmenu-item-content:hover{background:var(--theme-color)}.comfyui-easyuse-contextmenu-item.disabled .comfyui-easyuse-contextmenu-item-content span{color:var(--border-color);cursor:default}.comfyui-easyuse-contextmenu-item.disabled .comfyui-easyuse-contextmenu-item-content:hover{background:transparent}.comfyui-easyuse-contextmenu-submenu{font-family:var(--font-family);position:absolute;top:0;left:200px;max-width:200px;width:200px;min-width:100px;min-height:--height;padding:var(--padding) 0;box-shadow:0 0 10px #00000040;background-color:var(--tr-odd-bg-color);border-radius:var(--border-radius);z-index:10;will-change:transform}.comfyui-easyuse-contextmenu-model{position:relative}#easyuse-model-thumbnail{display:none;position:fixed;z-index:9999;width:200px;height:auto;opacity:0;-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);-khtml-transition:all .5s cubic-bezier(.55,0,.1,1);-moz-transition:all .5s cubic-bezier(.55,0,.1,1);-ms-transition:all .5s cubic-bezier(.55,0,.1,1);-o-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1)}.comfyui-easyuse-slider{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-slider-item{height:inherit;min-width:25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-webkit-flex-direction:column;-khtml-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;-o-flex-direction:column;flex-direction:column}.comfyui-easyuse-slider-item-input{height:15px;font-size:10px;color:var(--input-text)}.comfyui-easyuse-slider-item-label{height:15px;border:none;color:var(--descrip-text);font-size:8px}.comfyui-easyuse-slider-item-scroll{width:5px;height:calc(100% - 30px);background:var(--comfy-input-bg);border-radius:10px;position:relative}.comfyui-easyuse-slider-item-bar{width:10px;height:10px;background:linear-gradient(to bottom,var(--input-text),var(--descrip-text));border-radius:100%;box-shadow:0 2px 10px var(--bg-color);position:absolute;top:0;left:-2.5px;cursor:pointer;z-index:1}.comfyui-easyuse-slider-item-area{width:100%;border-radius:20px;position:absolute;bottom:0;background:var(--input-text);z-index:0}.comfyui-easyuse-slider-item.positive .comfyui-easyuse-slider-item-label{color:var(--success-color)}.comfyui-easyuse-slider-item.positive .comfyui-easyuse-slider-item-area{background:var(--success-color)}.comfyui-easyuse-slider-item.negative .comfyui-easyuse-slider-item-label{color:var(--error-color)}.comfyui-easyuse-slider-item.negative .comfyui-easyuse-slider-item-area{background:var(--error-color)}.comfyui-easyuse-map{height:100%;background:var(--comfy-menu-bg)}.comfyui-easyuse-map .p-splitter-gutter-handle{height:1px!important}.comfyui-easyuse-map-nodes{height:100%;position:relative}.comfyui-easyuse-map-nodes__header{position:absolute;z-index:2;top:0;left:0;width:100%;padding:.25rem 0 .25rem .5rem;height:2.8rem;background:var(--comfy-menu-bg);border-bottom:1px solid var(--border-color);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px)}.comfyui-easyuse-map-nodes__header .title{font-size:13px;color:var(--input-text);font-weight:400;line-height:1.5;-webkit-user-select:none;user-select:none}.comfyui-easyuse-map-nodes__header .toolbar{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes__header .toolbar .icon{font-size:.85rem;margin-left:.25rem;cursor:pointer}.comfyui-easyuse-map-nodes__content{position:relative;padding:2.8rem 0 0;height:100%;overflow:auto}.comfyui-easyuse-map-nodes__content-searchbox{padding:1rem}.comfyui-easyuse-map-nodes__content dl .label{padding-left:1rem}.comfyui-easyuse-map-nodes__content ul,.comfyui-easyuse-map-nodes__content ol,.comfyui-easyuse-map-nodes__content dl{list-style-type:none;padding:0;margin:0}.comfyui-easyuse-map-nodes__content ul .toolbar span,.comfyui-easyuse-map-nodes__content ol .toolbar span,.comfyui-easyuse-map-nodes__content dl .toolbar span{font-size:13px}.comfyui-easyuse-map-nodes__content ul .toolbar span.pi-eye,.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye{color:var(--input-text)}.comfyui-easyuse-map-nodes__content ul .toolbar span.pi-eye-slash,.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye-slash,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye-slash{color:var(--descrip-text)}.comfyui-easyuse-map-nodes__content ul .toolbar span.pi-eye-slash.never,.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye-slash.never,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye-slash.never{opacity:.5}.comfyui-easyuse-map-nodes__content ol{padding:0;padding-block-start:2px;padding-inline-start:1rem}.comfyui-easyuse-map-nodes__content .no_result{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;text-align:center}.comfyui-easyuse-map-nodes .p-contextmenu{display:block!important;position:fixed!important;z-index:1000!important}.comfyui-easyuse-map-nodes-group{position:relative;overflow:hidden;width:100%;height:2rem;cursor:default;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;pointer-events:auto}.comfyui-easyuse-map-nodes-group .left,.comfyui-easyuse-map-nodes-group .right{height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes-group .left{padding-left:.5rem;margin-right:.25rem;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-map-nodes-group .icon{font-size:.85rem;margin-right:.25rem}.comfyui-easyuse-map-nodes-group .label{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;height:100%;width:100%;min-width:80px}.comfyui-easyuse-map-nodes-group .label span{font-size:14px;color:var(--input-text);font-weight:400;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.comfyui-easyuse-map-nodes-group:hover{background:var(--content-hover-bg)!important}.comfyui-easyuse-map-nodes-group.active{background:var(--theme-color)!important}.comfyui-easyuse-map-nodes-group.active .label{color:#fff;cursor:default}.comfyui-easyuse-map-nodes-group.never .label{color:var(--descrip-text);opacity:.4}.comfyui-easyuse-map-nodes-group.bypass .label{color:var(--descrip-text)}.comfyui-easyuse-map-nodes-node{height:2rem;cursor:default;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;position:relative;overflow:hidden;pointer-events:auto}.comfyui-easyuse-map-nodes-node .node_id{background:#0b2000;padding:.25rem;margin:0 0 0 .25rem;border-radius:.25rem;text-align:center;color:#fff;font-size:12px}.comfyui-easyuse-map-nodes-node .left{height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes-node .label{text-indent:.5rem;font-size:14px;color:var(--input-text);font-weight:400;line-height:1.5;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;margin-right:.25rem;height:2rem;line-height:2rem;width:100%;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical}.comfyui-easyuse-map-nodes-node .label.error{color:var(--error-color)}.comfyui-easyuse-map-nodes-node:hover{background:var(--content-hover-bg)!important}.comfyui-easyuse-map-nodes-node.never .label{color:var(--descrip-text);opacity:.5}.comfyui-easyuse-map-nodes-node.bypass .label{color:#f0f;opacity:.5}.comfyui-easyuse-toolbar{border-radius:0 12px 12px 0;min-width:50px;height:24px;position:fixed;bottom:85px;left:0;display:flex;align-items:center;z-index:1000;background-color:var(--comfy-menu-bg);border:1px solid var(--bg-color);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px)}.comfyui-easyuse-toolbar-icon{height:100%;padding:0 4px;display:flex;justify-content:center;align-items:center;font-size:12px;color:var(--input-text);transition:all .3s ease-in-out;cursor:pointer}.comfyui-easyuse-toolbar-icon svg{width:14px;height:14px}.comfyui-easyuse-toolbar-icon:hover.group{color:var(--warning-color)}.comfyui-easyuse-toolbar-icon:hover.rocket{color:var(--theme-color)}.comfyui-easyuse-toolbar-nodes-map{position:absolute;top:50px;left:10px;width:200px;border-radius:12px;min-height:100px;max-height:600px;color:var(--descrip-text);background-color:var(--comfy-menu-bg);border:1px solid var(--bg-color);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px);z-index:399;padding-top:0;overflow:hidden}.comfyui-easyuse-toolbar-nodes-map .no-result-placeholder-content{-webkit-transform:scale(.8);-khtml-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes{min-height:100px;max-height:600px}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__header:before{content:"…";position:absolute;left:.25rem;top:2.75rem;transform:translateY(-2rem) rotate(90deg);width:.5rem;height:.5rem;display:inline-block;overflow:hidden;line-height:5px;padding:3px 4px;cursor:move;vertical-align:middle;font-size:12px;font-family:sans-serif;letter-spacing:2px;color:var(--drag-text);z-index:3;text-shadow:1px 0 1px black}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__header .title{cursor:move;padding-left:.25rem}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__content{max-height:calc(600px - 2.7rem)}.no-result-placeholder{display:flex;justify-content:center;align-items:center;height:100%}.no-result-placeholder-content{text-align:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-direction:column;-khtml-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;-o-flex-direction:column;flex-direction:column;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between}.no-result-placeholder .p-card{background-color:transparent!important;box-shadow:none;text-align:center}.no-result-placeholder h3{color:var(--input-text);margin-bottom:.5rem}.no-result-placeholder p{color:var(--descrip-text);margin-bottom:1rem;margin-top:0}#comfyui-easyuse-components{position:absolute;top:0;left:0;z-index:3}.comfyui-easyuse{--primary-bg:var(--theme-color)!important;--primary-hover-bg: var(--theme-color-light)!important;--p-datatable-header-cell-padding: .15rem 1rem;--p-datatable-body-cell-padding: .15rem 1rem;--border-color-solid: var(--border-color);--border-radius: 8px}.comfyui-easyuse.dark-theme{--fg-color: #fff;--bg-color: #242427;--content-bg:#18181b;--content-fg:#fff;--content-hover-bg: #27272a;--comfy-menu-bg: rgba(24,24,27,.9);--comfy-input-bg: #242427;--input-text: #ffffff;--descrip-text: #71717a;--drag-text: #ccc;--error-text: #ff4444;--border-color: #3f3f46;--border-color-solid: #2a2a2e;--tr-even-bg-color: rgba(28,28,28,.9);--tr-odd-bg-color: rgba(19,19,19,.9)}.comfyui-easyuse ::-webkit-scrollbar{width:0em}.comfyui-easyuse ::-webkit-scrollbar-track{background-color:transparent}.comfyui-easyuse ::-webkit-scrollbar-thumb{background-color:transparent;border-radius:2px}.comfyui-easyuse ::-webkit-scrollbar-thumb:hover{background-color:transparent}.comfyui-easyuse body{font-family:var(--font-family)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.comfyui-easyuse textarea{font-family:var(--font-family)!important}.comfyui-easyuse hr{border:1px solid var(--border-color)}.comfyui-easyuse .comfy-multiline-input{background-color:transparent;border:1px solid var(--border-color-solid);border-radius:var(--border-radius);padding:8px;font-size:12px}.comfyui-easyuse #comfy-settings-dialog{border:1px solid var(--border-color);background:transparent;-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%);box-shadow:none}.comfyui-easyuse .comfy-modal{border:1px solid var(--border-color);box-shadow:none;-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .cm-title{background-color:transparent!important}.comfyui-easyuse .cm-notice-board{border-radius:10px!important;border:1px solid var(--border-color)!important}.comfyui-easyuse .cm-menu-container{margin-bottom:50px!important}.comfyui-easyuse .cn-manager-custom_milk_white .tg-column-name,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-column-name{color:var(--input-text)}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-message,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-message{text-align:center;color:var(--descrip-text)!important}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .tg-cell,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .tg-cell{color:var(--input-text)}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .cn-node-name a,.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .cmm-node-name a,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .cn-node-name a,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .cmm-node-name a{color:var(--theme-color)!important}.comfyui-easyuse .comfy-menu{border-radius:16px;box-shadow:0 0 1px var(--descrip-text);-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .comfy-menu button.comfy-settings-btn{font-size:12px}.comfyui-easyuse .comfy-menu-btns{margin-bottom:4px}.comfyui-easyuse .comfy-menu button,.comfyui-easyuse .comfy-modal button{font-size:14px;padding:4px 0;margin-bottom:4px}.comfyui-easyuse .comfy-menu-btns button,.comfyui-easyuse .comfy-list-actions button{font-size:10px}.comfyui-easyuse .comfy-menu>button,.comfyui-easyuse .comfy-menu-btns button,.comfyui-easyuse .comfy-menu .comfy-list button,.comfyui-easyuse .comfy-modal button{border-width:1px}.comfyui-easyuse #comfy-dev-save-api-button{justify-content:center}.comfyui-easyuse #queue-button{position:relative;overflow:hidden;min-height:30px;z-index:1}.comfyui-easyuse #queue-button:after{clear:both;content:attr(data-attr);background:green;color:#fff;width:var(--process-bar-width);height:100%;position:absolute;top:0;left:0;z-index:0;text-align:center;display:flex;justify-content:center;align-items:center}.comfyui-easyuse #shareButton{background:linear-gradient(to left,var(--theme-color),var(--theme-color-light))!important;color:#fff!important}.comfyui-easyuse .litegraph.litecontextmenu{--height: 24px;--padding: 6px;font-family:var(--font-family);padding:var(--padding) 0;border-radius:var(--border-radius);-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .litegraph.litecontextmenu .litemenu-title{padding:var(--padding)}.comfyui-easyuse .litegraph.litecontextmenu>div:first-child.litemenu-title{margin-top:-6px}.comfyui-easyuse .litegraph.litecontextmenu .submenu{height:var(--height);line-height:var(--height);padding:0 18px 0 12px;margin:0;background:transparent!important}.comfyui-easyuse .litegraph.litecontextmenu .submenu.has_submenu{border-right:none;position:relative}.comfyui-easyuse .litegraph.litecontextmenu .submenu.has_submenu:after{content:"";display:block;width:0;height:0;border-width:4px 4px 0;border-style:solid;border-color:var(--input-text) transparent transparent;transform:translateY(-50%) rotate(-90deg);top:50%;position:absolute}.comfyui-easyuse .litegraph.litecontextmenu .submenu.separator{height:1px;width:100%;background-color:var(--border-color)!important;margin:var(--padding) 0;border:none}.comfyui-easyuse .litegraph.litecontextmenu .submenu:last-child.separator{display:none}.comfyui-easyuse .litegraph.litecontextmenu .submenu:hover:not(.separator){background:var(--theme-color)!important}.comfyui-easyuse .litegraph.lite-search-item{background-color:var(--comfy-input-bg)!important;filter:brightness(100%)}.comfyui-easyuse .litegraph.lite-search-item:hover{filter:brightness(120%);color:var(--input-text)}.comfyui-easyuse .graphdialog{-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .graphdialog button{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse .comfyui-menu{background:var(--comfy-menu-bg);border-bottom:1px solid var(--bg-color)}.comfyui-easyuse .side-tool-bar-container{background:var(--comfy-menu-bg);border-right:1px solid var(--bg-color)}.comfyui-easyuse .comfy-modal-content{width:100%}.comfyui-easyuse-poseEditor{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;text-align:center;font-size:18px;line-height:1.5}.comfyui-easyuse .dom-widget{padding:0 4px}.comfyui-easyuse .pi.pi-circle-fill[data-testid=noColor]{color:#000!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=red]{color:#af3535!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=brown]{color:#38291f!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=green]{color:#346434!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=blue]{color:#1f1f48!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=pale_blue]{color:#006691!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=cyan]{color:#008181!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=purple]{color:#422342!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=yellow]{color:#c09430!important}.comfyui-easyuse .pi.pi-circle-fill[data-testid=black]{color:#000c!important}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}(); +var e;import{u as o,a as t,s as n,g as s,b as a,c as l,j as i,N as d,$ as u,t as r,d as c,_ as p,i as v,e as m,f as g,h,k as f,l as y,m as w}from"./assets/extensions-QJQxdpGv.js";import{j as _,r as x,o as b,a as C,c as M,F as k,x as S,k as $,b as N,q as D,n as E,l as A,f as V,e as z,d as H,p as P,i as T,X as G,s as O,h as U,N as I,w as j,U as R,m as L,Y,P as B,Z as W,_ as F,$ as q}from"./assets/vue-DAoaJb2i.js";import{c as X,s as Z,j as K,f as J,T as Q,e as ee,g as oe,k as te,d as ne,l as se}from"./assets/vendor-BWlTOcRr.js";import{c as ae}from"./assets/lodash-CZi7izHi.js";import{d as le,u as ie}from"./assets/vueuse-CqzKat4r.js";import{P as de}from"./assets/primevue-CkFdRR_N.js";import"./assets/primeuix-DTi4O4TO.js";const ue=["data-id"],re=["onMousedown","onDblclick"],ce="comfyui-easyuse-slider",pe="ipadapter layer weights",ve={__name:"sliderControl",props:{id:{type:String|Number,default:""},mode:{type:String,default:""},type:{type:String,default:""},values:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["changeValues","showSlider"],setup(e,{emit:o}){const t=e,n=o,s=(e,o,t)=>(e-o)/(t-o)*100,a=(e,o,n=void 0)=>{if(t.mode===pe){let t={3:2.5,6:1}[o]||0;return{default:12==e?t:0,min:-1,max:3,step:.05,value:void 0!==n?n:12==e?t:0,top:void 0!==n?100-s(n,-1,3)+"%":null,height:void 0!==n?s(n,-1,3)+"%":null}}};_((e=>t.mode),(async(e,o)=>{var s;if(e!==o&&e===pe)if(!o&&(null==(s=t.values)?void 0:s.length)>0){const e=t.values.map((e=>{const o=e.split(":");return a(t.values.length,o[0],parseFloat(o[1]))}));await n("changeValues",e)}else{let e="sd1"==t.type?16:12,o=Array.from({length:e},((o,t)=>a(e,t)));await n("changeValues",o)}n("showSlider")}),{immediate:!0}),_((e=>t.type),((e,o)=>{if(e!=o&&t.mode==pe){let e="sd1"==t.type?16:12,o=Array.from({length:e},((o,t)=>a(e,t)));n("changeValues",o)}}));const l=x(null),i=x(null);return b((()=>{document.onmouseup=e=>document.onmousemove=null})),(o,a)=>{var d;return C(),M("div",{class:$(ce),"data-id":e.id},[(null==(d=e.values)?void 0:d.length)>0&&e.show?(C(!0),M(k,{key:0},S(e.values,((o,a)=>(C(),M("div",{class:$([ce+"-item",{positive:3==a&&"sdxl"==e.type&&e.mode==pe},{negative:6==a&&"sdxl"==e.type&&e.mode==pe}]),key:a},[N("div",{class:$(ce+"-item-input")},D(o.value),3),N("div",{class:$(ce+"-item-scroll"),ref_for:!0,ref_key:"scroll",ref:l},[N("div",{class:$(ce+"-item-bar"),ref_for:!0,ref_key:"bar",ref:i,style:E({top:o.top||100-s(o.default,o.min,o.max)+"%"}),onMousedown:e=>((e,o,s)=>{let a=e||window.event,d=l.value[s],u=i.value[s],r=ae(t.values),c=a.clientY-u.offsetTop;document.onmousemove=e=>{let t=(e||window.event).clientY-c;t<0?t=0:t>d.offsetHeight-u.offsetHeight&&(t=d.offsetHeight-u.offsetHeight);let a=(o.max-o.min)/o.step,l=(d.offsetHeight-u.offsetHeight)/a;t=Math.round(t/l)*l;const i=Math.floor(t/(d.offsetHeight-u.offsetHeight)*100)+"%",p=Math.floor((d.offsetHeight-u.offsetHeight-t)/(d.offsetHeight-u.offsetHeight)*100)+"%",v=parseFloat(parseFloat(o.max-(o.max-o.min)*(t/(d.offsetHeight-u.offsetHeight))).toFixed(2));r[s]={...r[s],top:i,height:p,value:v},n("changeValues",r),window.getSelection?window.getSelection().removeAllRanges():document.selection.empty()}})(e,o,a),onDblclick:e=>((e,o,s)=>{let a=ae(t.values);a[s]={...a[s],top:null,height:null,value:o.default},n("changeValues",a)})(0,o,a)},null,46,re),N("div",{class:$(ce+"-item-area"),style:E({height:o.height||s(o.default,o.min,o.max)+"%"})},null,6)],2),N("div",{class:$(ce+"-item-label")},[N("span",null,D(o.label),1)],2)],2)))),128)):A("",!0)],8,ue)}}},me={__name:"index",setup(e){const a=o(),{slider_controls:l}=X(a),i=x({}),d=async e=>{var o,t,d,u,r;await n(1);const c=s(e,"mode"),p=s(e,"model_type"),v=(null==(o=e.properties.values)?void 0:o.length)>0?e.properties.values:[];(null==(t=e.flags)?void 0:t.collapsed)&&e.collapse();let m=ae(l.value);m.push({id:e.id,type:p.value,mode:c.value,value:v,show:!1});const g=m.length-1;await a.setSliderControls(m);let h=null==(r=null==(u=null==(d=i.value[e.id])?void 0:d._)?void 0:u.vnode)?void 0:r.el;if(!h)return;e.addDOMWidget("values","btn",h,{setValue(){},getValue(){var o;const t=(null==(o=l.value)?void 0:o[g].value)||[];return e.properties.values=t.map(((e,o)=>`${o}:${e.value}`)),e.properties.values.join(",")}}),e.properties.values||e.setProperty("values",[]),e.setSize("sdxl"==p.value?[375,320]:[455,320]),p.callback=o=>{m=ae(l.value),m[g].type!=o&&(e.setSize("sdxl"==o?[375,320]:[455,320]),m[g].value=[],m[g].type=o,a.setSliderControls(m))};const f=e.onRemoved;e.onRemoved=function(){if(f&&(null==f||f.apply(this,arguments)),void 0!==l.value.findIndex((o=>o.id==e.id))){let e=ae(l.value);e.splice(g,1),a.setSliderControls(e)}return f}};return b((e=>{t.registerExtension({name:"Comfy.EasyUse.Components",async beforeRegisterNodeDef(e,o){const t=e.prototype.onNodeCreated;"easy sliderControl"==o.name&&(e.prototype.onNodeCreated=async function(){return t&&(null==t||t.apply(this,arguments)),await d(this),t}),"easy poseEditor"==o.name&&(e.prototype.onNodeCreated=async function(){t&&(null==t||t.apply(this,arguments));const e=document.createElement("div");return e.className="comfyui-easyuse-poseEditor",e.innerHTML='
This node is about to be removed, you can use ComfyUI_Custom_Nodes_AlekPet to replace it.
',this.addDOMWidget("editor","btn",e),t})}})})),(e,o)=>(C(!0),M(k,null,S(z(l),((e,o)=>(C(),V(ve,{ref_for:!0,ref:o=>{o&&(i.value[e.id]=o)},type:e.type,key:o,id:e.id,show:e.show,mode:e.mode,values:e.value,onChangeValues:e=>((e,o)=>{let t=ae(l.value);t[o].value=e,a.setSliderControls(t)})(e,o),onShowSlider:e=>(e=>{let o=ae(l.value);o[e].show=!0,a.setSliderControls(o)})(o)},null,8,["type","id","show","mode","values","onChangeValues","onShowSlider"])))),128))}},ge={class:"no-result-placeholder"},he={class:"no-result-placeholder-content"},fe={key:0},ye={__name:"noResultsPlaceholder",props:{icon:{type:String,default:"",required:!1},iconSize:{type:String,default:"3rem",required:!1},title:{type:String,required:!0},message:{type:String,required:!1},buttonLabel:{type:String,default:"",required:!1}},emits:["action"],setup:e=>(o,t)=>(C(),M("div",ge,[H(z(K),null,{content:P((()=>[N("div",he,[N("i",{class:$(e.icon),style:E({"font-size":e.iconSize,"margin-bottom":".5rem"})},null,6),N("h3",null,D(e.title),1),e.message?(C(),M("p",fe,D(e.message),1)):A("",!0),e.buttonLabel?(C(),V(z(Z),{key:1,label:e.buttonLabel,onClick:t[0]||(t[0]=e=>o.$emit("action")),class:"p-button-text"},null,8,["label"])):A("",!0)])])),_:1})]))},we={class:"left flex-1"},_e={key:0,class:"node_id"},xe={key:1,class:"edit"},be={class:"right toolbar"},Ce={__name:"node",props:{node:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup(e){const o=a(),n=T((e=>l("EasyUse.NodesMap.DisplayNodeID"))),s=e,u=x(!1),r=x(null),c=x("");_((e=>s.node.is_edit),(e=>{e&&(c.value=s.node.title)}));const p=async()=>{let e=t.canvas.graph._nodes.find((e=>e.id==s.node.id));e?(e.is_edit=!1,e.title=c.value,await o.setNodes(t.canvas.graph._nodes),u.value=!1):u.value=!1};return(o,t)=>{var s;return C(),M("div",{draggable:!1,class:$(["comfyui-easyuse-map-nodes-node",{never:void 0!==e.node.mode&&e.node.mode==z(d).NEVER},{bypass:void 0!==e.node.mode&&e.node.mode==z(d).BYPASS}])},[N("div",we,[n.value?(C(),M("span",_e,D(e.node.id),1)):A("",!0),(null==(s=e.node)?void 0:s.is_edit)?(C(),M("div",xe,[H(z(J),{ref_key:"modifyRef",ref:r,modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=e=>c.value=e),variant:"outline",size:"small",type:"text",onBlur:p,onKeydown:[G(p,["enter"]),G(p,["esc"])],style:{width:"100%"}},null,8,["modelValue"])])):void 0!==e.node.title?(C(),M("span",{key:2,class:"label",onDblclick:t[1]||(t[1]=O((o=>z(i)(e.node.id)),["stop"]))},D(e.node.title),33)):(C(),M("span",{key:3,class:"label error",onDblclick:t[2]||(t[2]=O((o=>z(i)(e.node.id)),["stop"]))},D(e.node.type),33))]),N("div",be,[H(z(Z),{size:"small",icon:e.node.mode==z(d).ALWAYS?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:t[3]||(t[3]=O((e=>o.$emit("changeMode")),["stop"])),onMousedown:t[4]||(t[4]=O((e=>o.$emit("mousedown")),["stop"])),onMouseup:t[5]||(t[5]=O((e=>o.$emit("mouseup")),["stop"]))},null,8,["icon"])])],2)}}},Me={class:"left flex-1"},ke={key:1,class:"edit"},Se={key:2,class:"label"},$e={class:"right toolbar"},Ne={key:0,class:"child"},De={__name:"group",props:{item:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup(e){const o=e,n=a(),s=x(!1),l=x(null),i=x("");_((e=>o.item.info.is_edit),(e=>{e&&(i.value=o.item.info.title)}));const u=e=>{var s,a;let l=o.item;if(!(null==(s=l.info)?void 0:s.is_edit)&&(null==(a=l.children)?void 0:a.length)>0){let e=t.canvas.graph._groups.find((e=>e.pos[0]==l.info.pos[0]&&e.pos[1]==l.info.pos[1]));e&&(e.show_nodes=!e.show_nodes,n.setGroups(t.canvas.graph._groups))}},r=async()=>{let e=o.item,a=t.canvas.graph._groups.find((o=>o.pos[0]==e.info.pos[0]&&o.pos[1]==e.info.pos[1]));a?(a.is_edit=!1,a.title=i.value,await n.setGroups(t.canvas.graph._groups),s.value=!1):s.value=!1};return(o,t)=>{var n,s,a;return C(),M(k,null,[N("div",{class:$("comfyui-easyuse-map-nodes-group"),onClick:u},[N("div",Me,[e.item.children?(C(),M("i",{key:0,class:$(["icon",e.item.info.show_nodes?"pi pi-folder-open":"pi pi-folder"]),style:E({color:e.item.info.color})},null,6)):A("",!0),(null==(n=e.item.info)?void 0:n.is_edit)?(C(),M("div",ke,[H(z(J),{ref_key:"modifyRef",ref:l,modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=e=>i.value=e),variant:"outline",size:"small",type:"text",onBlur:r,onKeydown:[G(r,["enter"]),G(r,["esc"])],style:{width:"100%"}},null,8,["modelValue"])])):(C(),M("div",Se,[N("span",null,D(e.item.info.title),1)]))]),N("div",$e,[(null==(s=e.item.children)?void 0:s.length)>0?(C(),V(z(Z),{key:0,size:"small",icon:e.item.children.find((e=>e.mode==z(d).ALWAYS))?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:t[1]||(t[1]=O((e=>o.$emit("changeMode")),["stop"])),onMousedown:t[2]||(t[2]=O((e=>o.$emit("mousedown")),["stop"])),onMouseup:t[3]||(t[3]=O((e=>o.$emit("mouseup")),["stop"]))},null,8,["icon"])):A("",!0)])]),(null==(a=e.item.children)?void 0:a.length)>0&&e.item.info.show_nodes?(C(),M("div",Ne,[U(o.$slots,"default")])):A("",!0)],64)}}},Ee={__name:"tree",props:{item:Object,index:Number,showGroupOnly:Boolean},emits:["dragstart","dragend","dragover","contextmenu","changeGroupMode","changeNodeMode","mousedown","mouseup"],setup:e=>(o,t)=>{var n,s,a,l;const i=I("Tree",!0);return C(),M("li",{onDragstart:t[10]||(t[10]=t=>o.$emit("dragstart",t,e.index)),onDragend:t[11]||(t[11]=t=>o.$emit("dragend",t,e.index)),onDragover:t[12]||(t[12]=t=>o.$emit("dragover",t,e.index)),draggable:!0,onContextmenu:t[13]||(t[13]=O((t=>o.$emit("contextmenu",t,e.item)),["stop"]))},[(null==(n=e.item.children)?void 0:n.length)||(null==(a=null==(s=e.item)?void 0:s.info)?void 0:a.sub_groups)?(C(),V(De,{key:0,item:e.item,onChangeMode:t[4]||(t[4]=t=>o.$emit("changeGroupMode",e.item)),onMousedown:t[5]||(t[5]=t=>o.$emit("mousedown",e.item,"group")),onMouseup:t[6]||(t[6]=e=>o.$emit("mouseup"))},{default:P((()=>[N("ol",null,[(C(!0),M(k,null,S(e.item.children,((n,s)=>(C(),V(i,{key:s,item:n,index:s,showGroupOnly:e.showGroupOnly,onDragstart:e=>o.$emit("dragstart",e,s),onDragend:e=>o.$emit("dragend",e,s),onDragover:e=>o.$emit("dragover",e,s),onContextmenu:e=>o.$emit("contextmenu",e,n),onChangeGroupMode:t[0]||(t[0]=e=>o.$emit("changeGroupMode",e)),onChangeNodeMode:t[1]||(t[1]=e=>o.$emit("changeNodeMode",e)),onMousedown:t[2]||(t[2]=e=>o.$emit("mousedown",e[0],e[1])),onMouseup:t[3]||(t[3]=e=>o.$emit("mouseup"))},null,8,["item","index","showGroupOnly","onDragstart","onDragend","onDragover","onContextmenu"])))),128))])])),_:1},8,["item"])):e.showGroupOnly?A("",!0):(C(),V(Ce,{key:1,node:(null==(l=e.item)?void 0:l.info)||e.item,onChangeMode:t[7]||(t[7]=t=>{var n;return o.$emit("changeNodeMode",(null==(n=e.item)?void 0:n.info)||e.item)}),onMousedown:t[8]||(t[8]=t=>{var n;return o.$emit("mousedown",(null==(n=e.item)?void 0:n.info)||e.item,"node")}),onMouseup:t[9]||(t[9]=e=>o.$emit("mouseup"))},null,8,["node"]))],32)}},Ae={class:"title"},Ve={class:"toolbar"},ze={key:0},He={key:1},Pe={key:2,class:"no_result",style:{height:"100%"}},Te="comfyui-easyuse-map-nodes",Ge={__name:"nodesMap",emits:["handleHeader"],setup(e){const o=a(),{groups_nodes:n,groups:s,nodes:c}=X(o),p=T((e=>l("EasyUse.NodesMap.DisplayGroupOnly"))),v=x(!1),m=e=>{v.value=!v.value,t.canvas.graph._groups.forEach((e=>{e.show_nodes=v.value})),o.setGroups(t.canvas.graph._groups)},g=x(""),h=T((e=>(null==c?void 0:c.value.filter((e=>{var o,t,n,s;return(null==(t=null==(o=e.id)?void 0:o.toString())?void 0:t.includes(g.value))||(null==(n=e.type)?void 0:n.includes(g.value))||(null==(s=e.title)?void 0:s.includes(g.value))})))||[])),f=x(null),y=x(!1),w=T((()=>y.value?[{label:u("Jump to this node"),icon:"pi pi-arrow-circle-right",visible:!0,command:()=>E(_.value)},{label:u("Rename node"),icon:"pi pi-file-edit",visible:!0,command:()=>G(_.value)},{label:u("Delete node"),icon:"pi pi-trash",command:()=>I(_.value),visible:!0}]:[{label:u("Rename group"),icon:"pi pi-file-edit",visible:!0,command:()=>R(_.value)},{label:u("Delete group"),icon:"pi pi-trash",command:()=>L(_.value),visible:!0}])),_=x(null),b=(e,o)=>{_.value=o,y.value=!o.children,f.value.show(e)},E=e=>{i((null==e?void 0:e.info)?e.info.id:e.id)},G=e=>{e.info?e.info.is_edit=!0:e.is_edit=!0},I=e=>{const n=e.info?e.info.id:e.id;t.canvas.graph.beforeChange(),t.canvas.graph._nodes.splice(t.canvas.graph._nodes.findIndex((e=>e.id==n)),1),t.canvas.graph.afterChange(),t.canvas.setDirty(!0,!0),o.setNodes(t.canvas.graph._nodes)},R=e=>{e.info.is_edit=!0},L=e=>{t.canvas.graph.beforeChange(),t.canvas.graph._groups.splice(t.canvas.graph._groups.findIndex((o=>o.id==e.info.id)),1),t.canvas.graph.afterChange(),t.canvas.setDirty(!0,!0),o.setGroups(t.canvas.graph._groups)};let Y,B=0,W=0,F=!1;const q=(e,n=!1)=>{if(F)return void(F=!1);const s=e.children.find((e=>e.mode==d.ALWAYS)),a=e.children.map((e=>e.id));t.canvas.graph._nodes.forEach((e=>{a.includes(e.id)&&(e.mode=s?n?d.NEVER:d.BYPASS:d.ALWAYS,e.graph.change())})),o.setNodes(t.canvas.graph._nodes)},K=(e,n=!1)=>{if(F)return void(F=!1);const s=e.mode==d.ALWAYS,a=t.canvas.graph._nodes.find((o=>o.id==e.id));a&&(a.mode=s?n?d.NEVER:d.BYPASS:d.ALWAYS,a.graph.change(),o.setNodes(t.canvas.graph._nodes))},ne=(e,o="group")=>{B=(new Date).getTime(),clearTimeout(Y),Y=setTimeout((t=>{"group"==o?q(e,!0):K(e,!0)}),500)},se=e=>{W=(new Date).getTime(),W-B>500&&(F=!0),clearTimeout(Y)};let ae=x(null),le=x(null);x(!1);const ie=(e,o)=>{ae.value=o,e.currentTarget.style.opacity="0.6",e.currentTarget.style.border="1px dashed yellow",e.dataTransfer.effectAllowed="move"},de=(e,n)=>{e.target.style.opacity="1",e.currentTarget.style.border="1px dashed transparent";if("Manual drag&drop sorting"!==l("EasyUse.NodesMap.Sorting"))return void r.warn(u("For drag and drop sorting, please find Nodes map sorting mode in Settings->EasyUse and change it to manual"));let s=t.canvas.graph._groups,a=s[ae.value],i=s[le.value];t.canvas.graph._groups[ae.value]=i,t.canvas.graph._groups[le.value]=a,o.setGroups(t.canvas.graph._groups)},ue=(e,o)=>{e.preventDefault(),e.currentIndex!=ae.value&&(le.value=o)};return(e,o)=>{var t,a,l;return C(),M("div",{class:$(Te)},[N("div",{class:$(Te+"__header"),onMousedown:o[0]||(o[0]=o=>e.$emit("handleHeader",o))},[N("div",Ae,D(z(u)("NODES MAP")),1),N("div",Ve,[(null==(t=z(s))?void 0:t.length)>0?j((C(),V(z(Z),{key:0,icon:v.value?"pi pi-angle-double-down":"pi pi-angle-double-up",text:"",rounded:"",severity:"secondary",onClick:O(m,["stop"]),size:"small"},null,8,["icon"])),[[z(Q),v.value?z(u)("Collapse All"):z(u)("Expand All"),void 0,{top:!0}]]):A("",!0),U(e.$slots,"icon")])],34),N("div",{class:$(Te+"__content")},[N("div",{class:$(Te+"__content-searchbox")},[H(z(oe),null,{default:P((()=>[H(z(J),{class:"search-box-input",modelValue:g.value,"onUpdate:modelValue":o[1]||(o[1]=e=>g.value=e),placeholder:z(u)("Search by Node ID/Name..."),variant:"outlined",style:{width:"100%"}},null,8,["modelValue","placeholder"]),g.value?(C(),V(z(ee),{key:1,class:"pi pi-times",onClick:o[2]||(o[2]=e=>g.value="")})):(C(),V(z(ee),{key:0,class:"pi pi-search"}))])),_:1})],2),(null==(a=h.value)?void 0:a.length)>0&&g.value?(C(),M("ul",ze,[(C(!0),M(k,null,S(h.value,((e,o)=>(C(),M("li",{key:o},[H(Ce,{node:e,onChangeMode:o=>K(e),onMousedown:o=>ne(e,"node"),onMouseup:se},null,8,["node","onChangeMode","onMousedown"])])))),128))])):(null==(l=z(n))?void 0:l.length)>0&&!g.value?(C(),M("ul",He,[(C(!0),M(k,null,S(z(n),((e,o)=>(C(),V(Ee,{key:o,item:e,index:o,showGroupOnly:p.value,onDragstart:ie,onDragend:de,onDragover:ue,onContextmenu:b,onChangeGroupMode:q,onChangeNodeMode:K,onMousedown:ne,onMouseup:se},null,8,["item","index","showGroupOnly"])))),128))])):(C(),M("div",Pe,[H(ye,{icon:"pi pi-sitemap",title:z(u)("No Nodes",!0),message:g.value?z(u)("No nodes found in the search"):z(u)("No nodes found in the map",!0)},null,8,["title","message"])]))],2),H(z(te),{ref_key:"menuRef",ref:f,model:w.value,autoZIndex:!1,appendTo:"self"},null,8,["model"])])}}},Oe="comfyui-easyuse-toolbar",Ue={__name:"index",setup(e){const o=a(),t=x(!1);_((e=>t.value),(e=>{e?o.watchGraph(!0):o.unwatchGraph()}));const n=x(null),s=e=>{const o=n.value;var t=e.clientX||0,s=e.clientY||0,a=o.offsetLeft,l=o.offsetTop;function i(e){var n=e.clientX,i=e.clientY,d=n-t,u=i-s;o.style.left=a+d+"px",o.style.top=l+u+"px"}document.addEventListener("mousemove",i),document.addEventListener("mouseup",(function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)}))};return(e,o)=>(C(),M(k,null,[N("div",{class:$(["flex-c",Oe])},[N("div",{class:$(["group flex-c",Oe+"-icon"]),onClick:o[0]||(o[0]=e=>t.value=!t.value)},o[3]||(o[3]=[N("svg",{class:"icon",t:"1714565543756",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"22538",width:"200",height:"200"},[N("path",{d:"M871.616 64H152.384c-31.488 0-60.416 25.28-60.416 58.24v779.52c0 32.896 26.24 58.24 60.352 58.24h719.232c34.112 0 60.352-25.344 60.352-58.24V122.24c0.128-32.96-28.8-58.24-60.288-58.24zM286.272 512c-23.616 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008A43.328 43.328 0 0 1 286.272 512z m0-202.496c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008a43.456 43.456 0 0 1-44.608 43.008zM737.728 512H435.904c-23.68 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.752 42.752 0 0 1-41.984 43.008z m0-202.496H435.904c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.88 42.88 0 0 1-42.048 43.008z","p-id":"22539",fill:"currentColor"})],-1)]),2),N("div",{class:$(["rocket flex-c",Oe+"-icon"]),onClick:o[1]||(o[1]=(...e)=>z(c)&&z(c)(...e))},o[4]||(o[4]=[N("svg",{class:"icon",t:"1714565020764",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7999",width:"200",height:"200"},[N("path",{d:"M810.438503 379.664884l-71.187166-12.777183C737.426025 180.705882 542.117647 14.602496 532.991087 7.301248c-12.777184-10.951872-32.855615-10.951872-47.45811 0-9.12656 7.301248-204.434938 175.229947-206.26025 359.586453l-67.536542 10.951871c-18.253119 3.650624-31.030303 18.253119-31.030303 36.506239v189.832442c0 10.951872 5.475936 21.903743 12.777184 27.379679 7.301248 5.475936 14.602496 9.12656 23.729055 9.12656h5.475936l133.247772-23.729055c40.156863 47.458111 91.265597 73.012478 151.500891 73.012477 60.235294 0 111.344029-27.379679 151.500891-74.837789l136.898396 23.729055h5.475936c9.12656 0 16.427807-3.650624 23.729055-9.12656 9.12656-7.301248 12.777184-16.427807 12.777184-27.379679V412.520499c1.825312-14.602496-10.951872-29.204991-27.379679-32.855615zM620.606061 766.631016H401.568627c-20.078431 0-36.506239 16.427807-36.506238 36.506239v109.518716c0 14.602496 9.12656 29.204991 23.729055 34.680927 14.602496 5.475936 31.030303 1.825312 40.156863-9.126559l16.427807-18.25312 32.855615 80.313726c5.475936 14.602496 18.253119 23.729055 34.680927 23.729055 16.427807 0 27.379679-9.12656 34.680927-23.729055l32.855615-80.313726 16.427807 18.25312c10.951872 10.951872 25.554367 14.602496 40.156863 9.126559 14.602496-5.475936 23.729055-18.253119 23.729055-34.680927v-109.518716c-3.650624-20.078431-20.078431-36.506239-40.156862-36.506239z",fill:"currentColor","p-id":"8000"})],-1)]),2)]),t.value?(C(),M("div",{key:0,ref_key:"nodesMapRef",ref:n,class:$(Oe+"-nodes-map")},[H(Ge,{onHandleHeader:s},{icon:P((()=>[j(H(z(Z),{icon:"pi pi-times",text:"",rounded:"",severity:"secondary",onClick:o[2]||(o[2]=e=>t.value=!1),size:"small"},null,512),[[z(Q),z(u)("Close"),void 0,{top:!0}]])])),_:1})],2)):A("",!0)],64))}},Ie=ne("fastCanvas",(()=>{const e=R(null),o=x([]);return{canvas:e,selectedItems:o,updateSelectedItems:()=>{var t;const n=Array.from((null==(t=e.value)?void 0:t.selectedItems)??[]);o.value=n.map((e=>L(e)))},getCanvas:()=>(e.value||(e.value=t.canvas,e.value.render_canvas_border=!1),e.value)}}));function je(e={}){const{useTransform:o=!1}=e,t=Ie().getCanvas(),{canvasPosToClientPos:n}=((e,o)=>{const{left:t,top:n}=le(e);return{clientPosToCanvasPos:e=>{const{offset:s,scale:a}=o.ds;return[(e[0]-t.value)/a-s[0],(e[1]-n.value)/a-s[1]]},canvasPosToClientPos:e=>{const{offset:s,scale:a}=o.ds;return[(e[0]+s[0])*a+t.value,(e[1]+s[1])*a+n.value]}}})(t.canvas,t),s=x({pos:[0,0],size:[0,0]});return{style:T((()=>{const{pos:e,size:a,scale:l=t.ds.scale}=s.value,[i,d]=n(e),[u,r]=a;return o?{position:"fixed",transformOrigin:"0 0",transform:`scale(${l})`,left:`${i}px`,top:`${d}px`,width:`${u}px`,height:`${r}px`}:{position:"fixed",left:`${i}px`,top:`${d}px`,width:u*l+"px",height:r*l+"px"}})),updatePosition:e=>{s.value=e}}}const Re=(e={})=>{const o=x({}),{margin:t=4}=e,n=(e,o,n,s)=>{if(!n&&s){const{scale:n,offset:a}=s,l=function(e,o){const t=Math.max(e.x,o.x),n=Math.max(e.y,o.y),s=Math.min(e.x+e.width,o.x+o.width),a=Math.min(e.y+e.height,o.y+o.height);return t>=s||n>=a?null:[t,n,s-t,a-n]}({x:e.left-o.left,y:e.top-o.top,width:e.width,height:e.height},{x:(s.x+a[0]-t)*n,y:(s.y+a[1]-t)*n,width:(s.width+2*t)*n,height:(s.height+2*t)*n});if(!l)return"";const i=(l[0]-e.left+o.left)/n+"px",d=(l[1]-e.top+o.top)/n+"px",u=l[2]/n+"px",r=l[3]/n+"px";return`polygon(0% 0%, 0% 100%, ${i} 100%, ${i} ${d}, calc(${i} + ${u}) ${d}, calc(${i} + ${u}) calc(${d} + ${r}), ${i} calc(${d} + ${r}), ${i} 100%, 100% 100%, 100% 0%)`}return""};return{style:o,updateClipPath:(e,t,s,a)=>{const l=e.getBoundingClientRect(),i=t.getBoundingClientRect(),d=n(l,i,s,a);o.value={clipPath:d||"none",willChange:"clip-path"}}}},Le=["title"],Ye=p({__name:"domWidget",props:{widgetState:{type:Object,default:()=>({widget:{},visible:!0,readonly:!1,zIndex:0})}},emits:["update:widgetValue"],setup(e,{emit:o}){var t,n;const s=e.widgetState.widget,a=o,i=x(void 0),{style:d,updatePosition:u}=je({useTransform:!0}),{style:r,updateClipPath:c}=Re(),p=T((()=>({...d.value,...h.value?r.value:{},zIndex:e.widgetState.zIndex,pointerEvents:e.widgetState.readonly||s.computedDisabled?"none":"auto",opacity:s.computedDisabled?.5:1}))),g=Ie(),h=T((e=>l("Comfy.DOMClippingEnabled")));if(_((()=>e.widgetState),(e=>{u(e),h.value&&(()=>{const e=g.canvas;if(!e||!i.value)return;const o=Object.values(e.selected_nodes??{})[0];if(!o)return;const t=o===s.node,n=null==o?void 0:o.renderArea,a=e.ds.offset,l=e.ds.scale,d=n?{x:n[0],y:n[1],width:n[2],height:n[3],scale:l,offset:[a[0],a[1]]}:void 0;c(i.value,e.canvas,t,d)})()}),{deep:!0}),_((()=>e.widgetState.visible),((e,o)=>{var t,n;!e&&o&&(null==(n=(t=s.options).onHide)||n.call(t,s))})),v(s)){s.element.blur&&ie(document,"mousedown",(e=>{s.element.contains(e.target)||s.element.blur()}));for(const e of s.options.selectOn??["focus","click"])ie(s.element,e,(()=>{const e=g.canvas;null==e||e.selectNode(s.node),null==e||e.bringToFront(s.node)}))}const f=s.node.constructor.nodeData,y=null==(n=null==(t=null==f?void 0:f.inputs)?void 0:t[s.name])?void 0:n.tooltip;return b((()=>{v(s)&&i.value&&i.value.appendChild(s.element)})),(o,t)=>j((C(),M("div",{ref_key:"widgetElement",ref:i,class:"dom-widget",title:z(y),style:E(p.value)},[z(m)(z(s))?(C(),V(B(z(s).component),{key:0,"model-value":z(s).value,widget:z(s),"onUpdate:modelValue":t[0]||(t[0]=e=>a("update:widgetValue",e))},null,8,["model-value","widget"])):A("",!0)],12,Le)),[[Y,e.widgetState.visible]])}},[["__scopeId","data-v-f8c9efe3"]]),Be={class:"isolate"},We={__name:"domWidgets",setup(e){const o=Ie(),t=g(),n=T((()=>Array.from(t.widgetStates.values())));return _((()=>o.canvas),(e=>{e&&(e.onDrawForeground=h(e.onDrawForeground,(()=>{(()=>{var e;const n=o.canvas;if(!n)return;const s=n.low_quality;for(const o of t.widgetStates.values()){const t=o.widget,a=t.node,l=n.isNodeVisible(a)&&!(t.options.hideOnZoom&&s)&&t.isVisible();if(o.visible=l,l){const s=t.margin;o.pos=[a.pos[0]+s,a.pos[1]+s+t.y],o.size=[(t.width??a.width)-2*s,(t.computedHeight??50)-2*s],o.zIndex=(null==(e=n.graph)?void 0:e.nodes.indexOf(a))??-1,o.readonly=n.read_only}}})()})))}),{immediate:!0}),(e,o)=>(C(),M("div",Be,[(C(!0),M(k,null,S(n.value,(e=>(C(),V(Ye,{key:e.widget.id,"widget-state":e,"onUpdate:widgetValue":o=>e.widget.value=o},null,8,["widget-state","onUpdate:widgetValue"])))),128))]))}},Fe={__name:"index",setup(e){const o=a();return b((e=>{o.watchGraph()})),(e,o)=>(C(),M("div",{class:$("comfyui-easyuse-map")},[H(Ge)]))}},qe="Comfy.UseNewMenu",Xe={__name:"App",setup(e){const o=x(null);return b((e=>{try{(async()=>{l("EasyUse.NodesMap.Enable",null)&&t.extensionManager.registerSidebarTab({id:f,icon:"pi pi-sitemap",title:u("Nodes Map (shift + m)",!0),tooltip:u("Nodes Map (shift + m)",!0),type:"custom",render:e=>{e.style.height="100%",W(F(Fe,{}),e)}});const e=await y.fetchApi("/easyuse/version");if(200===e.status){let o=await e.json();o.version&&t.registerExtension({name:"EasyUse Version",aboutPageBadges:[{label:"EasyUse v"+o.version,url:"https://github.com/yolain/ComfyUI-Easy-Use",icon:"pi pi-github"}]})}o.value=l(qe),w(qe,(e=>{o.value=e}))})()}catch(n){}})),(e,t)=>(C(),M(k,null,[H(me),t[0]||(t[0]=N("img",{id:"easyuse-model-thumbnail"},null,-1)),"Disabled"==o.value?(C(),V(Ue,{key:0})):A("",!0),H(We)],64))}},Ze=null==(e=document.getElementsByClassName("graph-canvas-container"))?void 0:e[0],Ke=document.createElement("div");Ke.id="comfyui-easyuse-components",Ze?Ze.append(Ke):document.body.append(Ke);const Je=q(Xe);Je.use(de),Je.use(se()),Je.mount("#"+Ke.id);