vorstcavry commited on
Commit
60fec2a
1 Parent(s): d789af9

Upload 12 files

Browse files
Nocrypt/JetBrainsMono-Regular.woff2 ADDED
Binary file (92.2 kB). View file
 
Nocrypt/cache.tar.lz4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3afc2ffd71505e78274970974ae83d7287b33ac86cc9bd7b1f79ce7d5fd3118e
3
+ size 65991383
Nocrypt/config.json ADDED
@@ -0,0 +1,492 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "samples_save": true,
3
+ "samples_format": "png",
4
+ "samples_filename_pattern": "[model_name]_[seed]",
5
+ "grid_save": true,
6
+ "grid_format": "png",
7
+ "grid_extended_filename": false,
8
+ "grid_only_if_multiple": true,
9
+ "n_rows": -1,
10
+ "enable_pnginfo": true,
11
+ "save_txt": false,
12
+ "save_images_before_face_restoration": false,
13
+ "jpeg_quality": 99,
14
+ "export_for_4chan": false,
15
+ "use_original_name_batch": false,
16
+ "save_selected_only": true,
17
+ "do_not_add_watermark": false,
18
+ "outdir_samples": "",
19
+ "outdir_txt2img_samples": "outputs/txt2img-images",
20
+ "outdir_img2img_samples": "outputs/img2img-images",
21
+ "outdir_extras_samples": "outputs/extras-images",
22
+ "outdir_grids": "",
23
+ "outdir_txt2img_grids": "outputs/txt2img-grids",
24
+ "outdir_img2img_grids": "outputs/img2img-grids",
25
+ "outdir_save": "log/images",
26
+ "save_to_dirs": false,
27
+ "grid_save_to_dirs": false,
28
+ "use_save_to_dirs_for_ui": false,
29
+ "directories_filename_pattern": "",
30
+ "directories_max_prompt_words": 8,
31
+ "ESRGAN_tile": 192,
32
+ "ESRGAN_tile_overlap": 8,
33
+ "realesrgan_enabled_models": [
34
+ "R-ESRGAN x4+",
35
+ "R-ESRGAN x4+ Anime6B",
36
+ "R-ESRGAN 4x+ Anime6B"
37
+ ],
38
+ "SWIN_tile": 192,
39
+ "SWIN_tile_overlap": 8,
40
+ "ldsr_steps": 100,
41
+ "upscaler_for_img2img": "R-ESRGAN 4x+ Anime6B",
42
+ "face_restoration_model": null,
43
+ "code_former_weight": 0.5,
44
+ "face_restoration_unload": false,
45
+ "memmon_poll_rate": 1,
46
+ "samples_log_stdout": false,
47
+ "multiple_tqdm": true,
48
+ "unload_models_when_training": false,
49
+ "sd_hypernetwork": "None",
50
+ "img2img_color_correction": false,
51
+ "save_images_before_color_correction": false,
52
+ "img2img_fix_steps": false,
53
+ "enable_quantization": false,
54
+ "enable_emphasis": true,
55
+ "use_old_emphasis_implementation": false,
56
+ "enable_batch_seeds": true,
57
+ "comma_padding_backtrack": 20,
58
+ "filter_nsfw": false,
59
+ "CLIP_stop_at_last_layers": 2,
60
+ "random_artist_categories": [
61
+ "anime"
62
+ ],
63
+ "interrogate_keep_models_in_memory": false,
64
+ "interrogate_use_builtin_artists": true,
65
+ "interrogate_clip_num_beams": 1,
66
+ "interrogate_clip_min_length": 24,
67
+ "interrogate_clip_max_length": 48,
68
+ "interrogate_clip_dict_limit": 1500.0,
69
+ "interrogate_deepbooru_score_threshold": 0.5,
70
+ "show_progressbar": true,
71
+ "show_progress_every_n_steps": 4,
72
+ "return_grid": true,
73
+ "do_not_show_images": false,
74
+ "add_model_hash_to_info": true,
75
+ "add_model_name_to_info": true,
76
+ "font": "JetBrainsMono-Regular.woff2",
77
+ "js_modal_lightbox": true,
78
+ "js_modal_lightbox_initially_zoomed": true,
79
+ "show_progress_in_title": true,
80
+ "hide_samplers": [],
81
+ "eta_ddim": 0,
82
+ "eta_ancestral": 1,
83
+ "ddim_discretize": "uniform",
84
+ "s_churn": 0,
85
+ "s_tmin": 0,
86
+ "s_noise": 1,
87
+ "eta_noise_seed_delta": 31337,
88
+ "grid_prevent_empty_spots": true,
89
+ "dataset_filename_word_regex": "",
90
+ "dataset_filename_join_string": " ",
91
+ "training_image_repeats_per_epoch": 1,
92
+ "training_write_csv_every": 500.0,
93
+ "sd_hypernetwork_strength": 1.0,
94
+ "quicksettings": "sd_model_checkpoint,sd_vae,sd_hypernetwork,sd_lora,extra_networks_default_multiplier,show_progress_every_n_steps,live_previews_enable,always_discard_next_to_last_sigma,CLIP_stop_at_last_layers,stealth_pnginfo",
95
+ "interrogate_return_ranks": false,
96
+ "deepbooru_sort_alpha": true,
97
+ "deepbooru_use_spaces": true,
98
+ "deepbooru_escape": true,
99
+ "save_images_add_number": true,
100
+ "use_scale_latent_for_hires_fix": true,
101
+ "sd_checkpoint_cache": 0,
102
+ "show_progress_grid": true,
103
+ "disable_weights_auto_swap": true,
104
+ "localization": "None",
105
+ "save_images_before_highres_fix": false,
106
+ "training_xattention_optimizations": false,
107
+ "inpainting_mask_weight": 1,
108
+ "send_seed": true,
109
+ "temp_dir": "",
110
+ "clean_temp_dir_at_start": false,
111
+ "pin_memory": false,
112
+ "save_optimizer_state": false,
113
+ "sd_vae_as_default": true,
114
+ "ldsr_cached": false,
115
+ "initial_noise_multiplier": 1,
116
+ "send_size": true,
117
+ "tac_tagFile": "danbooru.csv",
118
+ "tac_active": true,
119
+ "tac_activeIn.txt2img": true,
120
+ "tac_activeIn.img2img": true,
121
+ "tac_activeIn.negativePrompts": true,
122
+ "tac_activeIn.thirdParty": true,
123
+ "tac_maxResults": 10.0,
124
+ "tac_showAllResults": false,
125
+ "tac_resultStepLength": 50.0,
126
+ "tac_delayTime": 100.0,
127
+ "tac_useWildcards": true,
128
+ "tac_useEmbeddings": true,
129
+ "tac_replaceUnderscores": true,
130
+ "tac_escapeParentheses": true,
131
+ "tac_appendComma": true,
132
+ "tac_alias.searchByAlias": true,
133
+ "tac_alias.onlyShowAlias": false,
134
+ "tac_translation.translationFile": "None",
135
+ "tac_translation.oldFormat": false,
136
+ "tac_translation.searchByTranslation": true,
137
+ "tac_extra.extraFile": "ncpt-tags.csv",
138
+ "tac_extra.onlyAliasExtraFile": false,
139
+ "images_record_paths": true,
140
+ "use_upscaler_name_as_suffix": false,
141
+ "img2img_background_color": "#ffffff",
142
+ "deepbooru_filter_tags": "",
143
+ "show_progress_type": "Approx NN",
144
+ "disabled_extensions": [
145
+ "catppuccin_theme",
146
+ "vae-enhancer"
147
+ ],
148
+ "sd_vae_checkpoint_cache": 0,
149
+ "use_old_karras_scheduler_sigmas": false,
150
+ "samplers_in_dropdown": true,
151
+ "dimensions_and_batch_together": true,
152
+ "ui_reorder": "sampler, dimensions, cfg, seed, checkboxes, hires_fix, batch, scripts",
153
+ "save_training_settings_to_txt": true,
154
+ "use_old_hires_fix_width_height": false,
155
+ "always_discard_next_to_last_sigma": false,
156
+ "additional_networks_extra_lora_path": "/content/Vorst-Cavry-Auto1111/models/Lora/",
157
+ "print_hypernet_extra": false,
158
+ "training_enable_tensorboard": false,
159
+ "training_tensorboard_save_images": false,
160
+ "training_tensorboard_flush_every": 120.0,
161
+ "live_previews_enable": true,
162
+ "live_preview_content": "Prompt",
163
+ "tac_activeIn.modelList": "",
164
+ "tac_activeIn.modelListMode": "Blacklist",
165
+ "tac_showWikiLinks": true,
166
+ "additional_networks_sort_models_by": "name",
167
+ "additional_networks_model_name_filter": "",
168
+ "additional_networks_xy_grid_model_metadata": "",
169
+ "sd_model_checkpoint": "shux4.fp16.safetensors",
170
+ "sd_checkpoint_hash": null,
171
+ "sd_vae": "None",
172
+ "show_warnings": false,
173
+ "disable_ema": false,
174
+ "live_preview_refresh_period": 100.0,
175
+ "extra_networks_default_multiplier": 1,
176
+ "keyedit_precision_attention": 0.1,
177
+ "keyedit_precision_extra": 0.05,
178
+ "ui_extra_networks_tab_reorder": "",
179
+ "postprocessing_scipts_order": "upscale, gfpgan, codeformer",
180
+ "upscaling_max_images_in_cache": 5,
181
+ "upcast_attn": false,
182
+ "interrogate_clip_skip_categories": [],
183
+ "extra_networks_default_view": "cards",
184
+ "sd_lora": "",
185
+ "lora_apply_to_outputs": false,
186
+ "postprocessing_enable_in_main_ui": [],
187
+ "postprocessing_operation_order": [],
188
+ "tac_useHypernetworks": true,
189
+ "tac_useLoras": true,
190
+ "additional_networks_hash_thread_count": 1.0,
191
+ "model_toolkit_fix_clip": false,
192
+ "additional_networks_reverse_sort_order": false,
193
+ "additional_networks_back_up_model_when_saving": true,
194
+ "additional_networks_show_only_safetensors": false,
195
+ "additional_networks_show_only_models_with_metadata": "disabled",
196
+ "additional_networks_max_top_tags": 20.0,
197
+ "tac_extra.addMode": "Insert before",
198
+ "additional_networks_max_dataset_folders": 20.0,
199
+ "control_net_model_config": "/content/Vorst-Cavry-Auto1111/extensions/sd-webui-controlnet/models/cldm_v15.yaml",
200
+ "control_net_models_path": "/content/Vorst-Cavry-Auto1111/models/ControlNet",
201
+ "control_net_no_detectmap": false,
202
+ "img_downscale_threshold": 4.0,
203
+ "target_side_length": 4000.0,
204
+ "no_dpmpp_sde_batch_determinism": false,
205
+ "control_net_model_adapter_config": "/content/Vorst-Cavry-Auto1111/extensions/sd-webui-controlnet/models/sketch_adapter_v14.yaml",
206
+ "control_net_detectedmap_dir": "/content/Vorst-Cavry-Auto1111/extensions/sd-webui-controlnet/detected_maps",
207
+ "control_net_max_models_num": 4,
208
+ "control_net_model_cache_size": 2,
209
+ "control_net_control_transfer": false,
210
+ "control_net_detectmap_autosaving": false,
211
+ "control_net_only_midctrl_hires": true,
212
+ "control_net_allow_script_control": true,
213
+ "control_net_skip_img2img_processing": false,
214
+ "control_net_monocular_depth_optim": false,
215
+ "control_net_only_mid_control": false,
216
+ "control_net_cfg_based_guidance": false,
217
+ "model_toolkit_autoprune": false,
218
+ "tac_slidingPopup": true,
219
+ "webp_lossless": false,
220
+ "img_max_size_mp": 200.0,
221
+ "extra_networks_add_text_separator": " ",
222
+ "hidden_tabs": [],
223
+ "uni_pc_variant": "bh1",
224
+ "uni_pc_skip_type": "time_uniform",
225
+ "uni_pc_order": 3,
226
+ "uni_pc_lower_order_final": true,
227
+ "dp_ignore_whitespace": false,
228
+ "dp_write_raw_template": false,
229
+ "dp_write_prompts_to_file": false,
230
+ "dp_parser_variant_start": "{",
231
+ "dp_parser_variant_end": "}",
232
+ "dp_parser_wildcard_wrap": "__",
233
+ "dp_limit_jinja_prompts": false,
234
+ "image_browser_preload": false,
235
+ "image_browser_copy_image": false,
236
+ "image_browser_delete_message": true,
237
+ "image_browser_page_columns": 6.0,
238
+ "image_browser_page_rows": 6.0,
239
+ "image_browser_pages_perload": 1.0,
240
+ "openpose3d_use_online_version": false,
241
+ "control_net_sync_field_args": false,
242
+ "stealth_pnginfo": true,
243
+ "image_browser_active_tabs": "txt2img, img2img, txt2img-grids, img2img-grids, Extras, Favorites, Others",
244
+ "image_browser_hidden_components": [],
245
+ "image_browser_with_subdirs": true,
246
+ "image_browser_txt_files": true,
247
+ "image_browser_logger_warning": false,
248
+ "image_browser_logger_debug": false,
249
+ "image_browser_delete_recycle": false,
250
+ "image_browser_scan_exif": true,
251
+ "image_browser_mod_shift": false,
252
+ "image_browser_mod_ctrl_shift": false,
253
+ "image_browser_enable_maint": true,
254
+ "image_browser_ranking_pnginfo": false,
255
+ "image_browser_use_thumbnail": false,
256
+ "image_browser_thumbnail_size": 200.0,
257
+ "state": [
258
+ "tabs"
259
+ ],
260
+ "state_txt2img": [
261
+ "prompt",
262
+ "negative_prompt",
263
+ "styles",
264
+ "sampling",
265
+ "sampling_steps",
266
+ "width",
267
+ "height",
268
+ "batch_count",
269
+ "batch_size",
270
+ "cfg_scale",
271
+ "restore_faces",
272
+ "tiling",
273
+ "hires_fix",
274
+ "hires_upscaler",
275
+ "hires_steps",
276
+ "hires_scale",
277
+ "hires_resize_x",
278
+ "hires_resize_y",
279
+ "hires_denoising_strength"
280
+ ],
281
+ "state_img2img": [
282
+ "prompt",
283
+ "negative_prompt",
284
+ "styles",
285
+ "sampling",
286
+ "resize_mode",
287
+ "sampling_steps",
288
+ "restore_faces",
289
+ "tiling",
290
+ "width",
291
+ "height",
292
+ "batch_count",
293
+ "batch_size",
294
+ "cfg_scale",
295
+ "denoising_strength"
296
+ ],
297
+ "state_extensions": [
298
+ "control-net"
299
+ ],
300
+ "dp_magicprompt_default_model": "Gustavosta/MagicPrompt-Stable-Diffusion",
301
+ "dp_magicprompt_batch_size": 1,
302
+ "quicksettings_list": [
303
+ "sd_model_checkpoint",
304
+ "sd_vae",
305
+ "show_progress_every_n_steps",
306
+ "cross_attention_optimization"
307
+ ],
308
+ "restore_config_state_file": "",
309
+ "disable_all_extensions": "none",
310
+ "save_mask": false,
311
+ "save_mask_composite": false,
312
+ "save_init_img": false,
313
+ "outdir_init_images": "outputs/init-images",
314
+ "SCUNET_tile": 256,
315
+ "SCUNET_tile_overlap": 8,
316
+ "randn_source": "GPU",
317
+ "dont_fix_second_order_samplers_schedule": false,
318
+ "lora_functional": false,
319
+ "extra_networks_card_width": 0.0,
320
+ "extra_networks_card_height": 0.0,
321
+ "sd_lyco": "None",
322
+ "lora_preferred_name": "Alias from file",
323
+ "return_mask": false,
324
+ "return_mask_composite": false,
325
+ "js_modal_lightbox_gamepad": true,
326
+ "js_modal_lightbox_gamepad_repeat": 250.0,
327
+ "keyedit_delimiters": ".,\\/!?%^*;:{}=`~()",
328
+ "gradio_theme": "NoCrypt/miku",
329
+ "add_version_to_infotext": true,
330
+ "s_min_uncond": 0,
331
+ "tac_useLycos": true,
332
+ "tac_chantFile": "demo-chants.json",
333
+ "tac_keymap": "{\n \"MoveUp\": \"ArrowUp\",\n \"MoveDown\": \"ArrowDown\",\n \"JumpUp\": \"PageUp\",\n \"JumpDown\": \"PageDown\",\n \"JumpToStart\": \"Home\",\n \"JumpToEnd\": \"End\",\n \"ChooseSelected\": \"Enter\",\n \"ChooseFirstOrSelected\": \"Tab\",\n \"Close\": \"Escape\"\n}",
334
+ "tac_colormap": "{\n \"danbooru\": {\n \"-1\": [\"red\", \"maroon\"],\n \"0\": [\"lightblue\", \"dodgerblue\"],\n \"1\": [\"indianred\", \"firebrick\"],\n \"3\": [\"violet\", \"darkorchid\"],\n \"4\": [\"lightgreen\", \"darkgreen\"],\n \"5\": [\"orange\", \"darkorange\"]\n },\n \"e621\": {\n \"-1\": [\"red\", \"maroon\"],\n \"0\": [\"lightblue\", \"dodgerblue\"],\n \"1\": [\"gold\", \"goldenrod\"],\n \"3\": [\"violet\", \"darkorchid\"],\n \"4\": [\"lightgreen\", \"darkgreen\"],\n \"5\": [\"tomato\", \"darksalmon\"],\n \"6\": [\"red\", \"maroon\"],\n \"7\": [\"whitesmoke\", \"black\"],\n \"8\": [\"seagreen\", \"darkseagreen\"]\n }\n}",
335
+ "ad_max_models": 2,
336
+ "ad_save_previews": false,
337
+ "ad_save_images_before": false,
338
+ "ad_only_seleted_scripts": true,
339
+ "ad_script_names": "dynamic_prompting,dynamic_thresholding,wildcards,wildcard_recursive",
340
+ "control_net_modules_path": "",
341
+ "controlnet_show_batch_images_in_ui": false,
342
+ "controlnet_increment_seed_during_batch": false,
343
+ "dp_auto_purge_cache": false,
344
+ "ctp_flavor": "mocha",
345
+ "accent_color": "blue",
346
+ "tac_translation.liveTranslation": false,
347
+ "ad_bbox_sortby": "None",
348
+ "stealth_pnginfo_mode": "rgb",
349
+ "stealth_pnginfo_compression": false,
350
+ "list_hidden_files": true,
351
+ "cross_attention_optimization": "sdp - scaled dot product",
352
+ "token_merging_ratio": 0,
353
+ "token_merging_ratio_img2img": 0,
354
+ "token_merging_ratio_hr": 0,
355
+ "extra_networks_show_hidden_directories": true,
356
+ "extra_networks_hidden_models": "When searched",
357
+ "lora_add_hashes_to_infotext": true,
358
+ "img2img_editor_height": 720,
359
+ "ui_tab_order": [
360
+ "txt2img",
361
+ "img2img",
362
+ "Extras",
363
+ "Fast PNG Info",
364
+ "PNG Info",
365
+ "Infinite image browsing",
366
+ "Batchlinks Downloader",
367
+ "SuperMerger",
368
+ "Merge Block Weighted",
369
+ "Toolkit",
370
+ "Checkpoint Merger",
371
+ "Train",
372
+ "Additional Networks",
373
+ "CSS App",
374
+ "3D Openpose",
375
+ "yoinked style manager",
376
+ "Agent Scheduler",
377
+ "Photopea"
378
+ ],
379
+ "hires_fix_show_sampler": true,
380
+ "hires_fix_show_prompts": true,
381
+ "live_previews_image_format": "webp",
382
+ "tac_refreshTempFiles": "Refresh TAC temp files",
383
+ "controlnet_disable_control_type": false,
384
+ "regprp_debug": false,
385
+ "regprp_hidepmask": false,
386
+ "arh_javascript_aspect_ratio_show": true,
387
+ "arh_javascript_aspect_ratio": "1:1, 3:2, 4:3, 5:4, 16:9",
388
+ "arh_ui_javascript_selection_method": "Aspect Ratios Dropdown",
389
+ "arh_hide_accordion_by_default": true,
390
+ "arh_expand_by_default": false,
391
+ "arh_ui_component_order_key": "MaxDimensionScaler, MinDimensionScaler, PredefinedAspectRatioButtons, PredefinedPercentageButtons",
392
+ "arh_show_max_width_or_height": false,
393
+ "arh_max_width_or_height": 1024,
394
+ "arh_show_min_width_or_height": false,
395
+ "arh_min_width_or_height": 1024,
396
+ "arh_show_predefined_aspect_ratios": false,
397
+ "arh_predefined_aspect_ratio_use_max_dim": false,
398
+ "arh_predefined_aspect_ratios": "1:1, 4:3, 16:9, 9:16, 21:9",
399
+ "arh_show_predefined_percentages": false,
400
+ "arh_predefined_percentages": "25, 50, 75, 125, 150, 175, 200",
401
+ "arh_predefined_percentages_display_key": "Incremental/decremental percentage (-50%, +50%)",
402
+ "hide_auto_sd_paint_ext_tab": true,
403
+ "controlnet_disable_openpose_edit": false,
404
+ "ui_reorder_list": [
405
+ "override_settings",
406
+ "inpaint",
407
+ "sampler",
408
+ "dimensions",
409
+ "cfg",
410
+ "seed",
411
+ "checkboxes",
412
+ "hires_fix",
413
+ "extra_options",
414
+ "batch",
415
+ "scripts"
416
+ ],
417
+ "grid_zip_filename_pattern": "",
418
+ "sd_unet": "Automatic",
419
+ "pad_cond_uncond": false,
420
+ "experimental_persistent_cond_cache": true,
421
+ "hires_fix_use_firstpass_conds": false,
422
+ "disable_token_counters": false,
423
+ "extra_options": [
424
+ "always_discard_next_to_last_sigma",
425
+ "CLIP_stop_at_last_layers",
426
+ "token_merging_ratio",
427
+ "token_merging_ratio_img2img",
428
+ "token_merging_ratio_hr",
429
+ "s_min_uncond",
430
+ "sd_lora",
431
+ "sd_lyco",
432
+ "extra_networks_default_multiplier",
433
+ "img2img_color_correction",
434
+ "comma_padding_backtrack",
435
+ "save_images_before_highres_fix"
436
+ ],
437
+ "extra_options_accordion": false,
438
+ "infotext_styles": "Ignore",
439
+ "k_sched_type": "Automatic",
440
+ "sigma_min": 0.0,
441
+ "sigma_max": 0.0,
442
+ "rho": 0.0,
443
+ "canvas_hotkey_move": "F",
444
+ "canvas_hotkey_fullscreen": "S",
445
+ "canvas_hotkey_reset": "R",
446
+ "canvas_hotkey_overlap": "O",
447
+ "canvas_show_tooltip": true,
448
+ "canvas_swap_controls": false,
449
+ "neutral_prompt_enabled": true,
450
+ "tac_wildcardCompletionMode": "To next folder level",
451
+ "canvas_hotkey_zoom": "Alt",
452
+ "canvas_hotkey_adjust": "Ctrl",
453
+ "canvas_disabled_functions": [
454
+ "Overlap"
455
+ ],
456
+ "tac_appendSpace": true,
457
+ "tac_alwaysSpaceAtEnd": true,
458
+ "grid_text_active_color": "#89b4fa",
459
+ "grid_text_inactive_color": "#a6adc8",
460
+ "grid_background_color": "#181825",
461
+ "SWIN_torch_compile": false,
462
+ "disable_mmap_load_safetensors": false,
463
+ "auto_vae_precision": true,
464
+ "sdxl_crop_top": 0.0,
465
+ "sdxl_crop_left": 0.0,
466
+ "sdxl_refiner_low_aesthetic_score": 2.5,
467
+ "sdxl_refiner_high_aesthetic_score": 6.0,
468
+ "extra_networks_card_text_scale": 1,
469
+ "extra_networks_card_show_desc": true,
470
+ "textual_inversion_print_at_load": false,
471
+ "textual_inversion_add_hashes_to_infotext": true,
472
+ "lora_show_all": false,
473
+ "lora_hide_unknown_for_versions": [],
474
+ "keyedit_move": true,
475
+ "add_user_name_to_info": false,
476
+ "canvas_blur_prompt": false,
477
+ "neutral_prompt_verbose": false,
478
+ "photopea_repo_url": "https://git.nixnet.services/DUOLabs333/Photopea-Offline.git",
479
+ "photopea_commit_hash": "acda07818951c47939e88ca4781d6cddd84537fd",
480
+ "queue_paused": false,
481
+ "queue_button_placement": "Under Generate button",
482
+ "queue_button_hide_checkpoint": true,
483
+ "queue_history_retention_days": "30 days",
484
+ "queue_keyboard_shortcut": "Ctrl+KeyE",
485
+ "queue_ui_placement": "As a tab",
486
+ "control_net_inpaint_blur_sigma": 7,
487
+ "tac_modelKeywordCompletion": "Never",
488
+ "control_net_no_high_res_fix": false,
489
+ "controlnet_ignore_noninpaint_mask": false,
490
+ "tac_sortWildcardResults": true,
491
+ "tac_showExtraNetworkPreviews": true
492
+ }
Nocrypt/dep.tar.lz4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e04146564a76bf9aea184dce5a85f8f44e097d83d0071b4c112e6d659bbb44f2
3
+ size 501544089
Nocrypt/logo.png ADDED
Nocrypt/nohup.out ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ your url is: https://ten-towns-join-35-240-231-192.loca.lt
2
+ nnel. Doing so, without a Cloudflare account, is a quick way to experiment and try it out. However, be aware that these account-less Tunnels have no uptime guarantee. If you intend to use Tunnels in production you should use a pre-created named tunnel by following: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps
3
+ 2023-01-16T08:32:54Z INF Requesting new quick Tunnel on trycloudflare.com...
4
+ 2023-01-16T08:32:58Z INF +--------------------------------------------------------------------------------------------+
5
+ 2023-01-16T08:32:58Z INF | Your quick Tunnel has been created! Visit it at (it may take some time to be reachable): |
6
+ 2023-01-16T08:32:58Z INF | https://oklahoma-solo-younger-truck.trycloudflare.com |
7
+ 2023-01-16T08:32:58Z INF +--------------------------------------------------------------------------------------------+
8
+ 2023-01-16T08:32:58Z INF Cannot determine default configuration path. No file [config.yml config.yaml] in [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /etc/cloudflared /usr/local/etc/cloudflared]
9
+ 2023-01-16T08:32:58Z INF Version 2022.12.1
10
+ 2023-01-16T08:32:58Z INF GOOS: linux, GOVersion: go1.19.3, GoArch: amd64
11
+ 2023-01-16T08:32:58Z INF Settings: map[protocol:quic url:localhost:7860]
12
+ 2023-01-16T08:32:58Z INF Generated Connector ID: a6c7cb67-725e-4f57-a134-a7e58278c603
13
+ 2023-01-16T08:32:58Z INF Autoupdate frequency is set autoupdateFreq=86400000
14
+ 2023-01-16T08:32:58Z INF Initial protocol quic
15
+ 2023-01-16T08:32:58Z INF ICMP proxy will use 172.28.0.2 as source for IPv4
16
+ 2023-01-16T08:32:58Z INF ICMP proxy will use :: as source for IPv6
17
+ 2023-01-16T08:32:58Z WRN The user running cloudflared process has a GID (group ID) that is not within ping_group_range. You might need to add that user to a group within that range, or instead update the range to encompass a group the user is already in by modifying /proc/sys/net/ipv4/ping_group_range. Otherwise cloudflared will not be able to ping this network error="Group ID 0 is not between ping group 1 to 0"
18
+ 2023-01-16T08:32:58Z WRN ICMP proxy feature is disabled error="cannot create ICMPv4 proxy: Group ID 0 is not between ping group 1 to 0 nor ICMPv6 proxy: socket: permission denied"
19
+ 2023-01-16T08:32:58Z INF Starting metrics server on 127.0.0.1:34755/metrics
20
+ 2023/01/16 08:32:58 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.
21
+ 2023-01-16T08:32:59Z INF Connection 851e6222-96b5-47dc-a54f-4a6837d49add registered with protocol: quic connIndex=0 ip=198.41.192.37 location=KUL
22
+ 2023-01-16T08:33:00Z INF Connection 4d50c94d-42fb-4c65-973a-f31b32480e8d registered with protocol: quic connIndex=1 ip=198.41.200.33 location=SIN
23
+ 2023-01-16T08:33:01Z INF Connection 6f2ad765-b008-45c4-95c8-9f10e5883f87 registered with protocol: quic connIndex=2 ip=198.41.200.53 location=SIN
24
+ 2023-01-16T08:33:02Z INF Connection 46d3f159-d99d-4e51-b824-66765dd11df2 registered with protocol: quic connIndex=3 ip=198.41.192.57 location=KUL
25
+ 2023-01-16T08:35:43Z INF Initiating graceful shutdown due to signal interrupt ...
26
+ 2023-01-16T08:35:43Z INF Unregistered tunnel connection connIndex=3
27
+ 2023-01-16T08:35:43Z ERR Failed to serve quic connection error="Application error 0x0" connIndex=3 ip=198.41.192.57
28
+ 2023-01-16T08:35:43Z ERR Serve tunnel error error="Application error 0x0" connIndex=3 ip=198.41.192.57
29
+ 2023-01-16T08:35:43Z INF Retrying connection in up to 1s connIndex=3 ip=198.41.192.57
30
+ 2023-01-16T08:35:43Z INF Unregistered tunnel connection connIndex=1
31
+ 2023-01-16T08:35:43Z ERR Failed to serve quic connection error="Application error 0x0" connIndex=1 ip=198.41.200.33
32
+ 2023-01-16T08:35:43Z ERR Serve tunnel error error="Application error 0x0" connIndex=1 ip=198.41.200.33
33
+ 2023-01-16T08:35:43Z INF Retrying connection in up to 1s connIndex=1 ip=198.41.200.33
34
+ 2023-01-16T08:35:43Z INF Unregistered tunnel connection connIndex=0
35
+ 2023-01-16T08:35:43Z ERR Failed to serve quic connection error="Application error 0x0" connIndex=0 ip=198.41.192.37
36
+ 2023-01-16T08:35:43Z ERR Serve tunnel error error="Application error 0x0" connIndex=0 ip=198.41.192.37
37
+ 2023-01-16T08:35:43Z INF Retrying connection in up to 1s connIndex=0 ip=198.41.192.37
38
+ 2023-01-16T08:35:44Z INF Unregistered tunnel connection connIndex=2
39
+ 2023-01-16T08:35:44Z ERR Failed to serve quic connection error="Application error 0x0" connIndex=2 ip=198.41.200.53
40
+ 2023-01-16T08:35:44Z ERR Serve tunnel error error="Application error 0x0" connIndex=2 ip=198.41.200.53
41
+ 2023-01-16T08:35:44Z INF Retrying connection in up to 1s connIndex=2 ip=198.41.200.53
42
+ 2023-01-16T08:35:44Z ERR no more connections active and exiting
43
+ 2023-01-16T08:35:44Z INF Tunnel server stopped
44
+ 2023-01-16T08:35:44Z INF Metrics server stopped
Nocrypt/repo.tar.lz4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:90ce9a85a487040f1adcdde38823f5452372f14c324df2465b7cfa2fe9383b93
3
+ size 2285770629
Nocrypt/style.css ADDED
@@ -0,0 +1,974 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* temporary fix to load default gradio font in frontend instead of backend */
2
+
3
+ @import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap');
4
+
5
+ /* general gradio fixes */
6
+
7
+ :root, .dark{
8
+ --checkbox-label-gap: 0.25em 0.1em;
9
+ --section-header-text-size: 12pt;
10
+ --block-background-fill: transparent;
11
+ }
12
+
13
+ .block.padded:not(.gradio-accordion) {
14
+ padding: 0 !important;
15
+ }
16
+
17
+ div.gradio-container{
18
+ max-width: unset !important;
19
+ }
20
+
21
+ .hidden{
22
+ display: none;
23
+ }
24
+
25
+ .compact{
26
+ background: transparent !important;
27
+ padding: 0 !important;
28
+ }
29
+
30
+ div.form{
31
+ border-width: 0;
32
+ box-shadow: none;
33
+ background: transparent;
34
+ overflow: visible;
35
+ gap: 0.5em;
36
+ }
37
+
38
+ .block.gradio-dropdown,
39
+ .block.gradio-slider,
40
+ .block.gradio-checkbox,
41
+ .block.gradio-textbox,
42
+ .block.gradio-radio,
43
+ .block.gradio-checkboxgroup,
44
+ .block.gradio-number,
45
+ .block.gradio-colorpicker
46
+ {
47
+ border-width: 0 !important;
48
+ box-shadow: none !important;
49
+ }
50
+
51
+ .gap.compact{
52
+ padding: 0;
53
+ gap: 0.2em 0;
54
+ }
55
+
56
+ div.compact{
57
+ gap: 1em;
58
+ }
59
+
60
+ .gradio-dropdown label span:not(.has-info),
61
+ .gradio-textbox label span:not(.has-info),
62
+ .gradio-number label span:not(.has-info)
63
+ {
64
+ margin-bottom: 0;
65
+ }
66
+
67
+ .gradio-dropdown ul.options{
68
+ z-index: 3000;
69
+ min-width: fit-content;
70
+ max-width: inherit;
71
+ white-space: nowrap;
72
+ }
73
+
74
+ .gradio-dropdown ul.options li.item {
75
+ padding: 0.05em 0;
76
+ }
77
+
78
+ .gradio-dropdown ul.options li.item.selected {
79
+ background-color: var(--neutral-100);
80
+ }
81
+
82
+ .dark .gradio-dropdown ul.options li.item.selected {
83
+ background-color: var(--neutral-900);
84
+ }
85
+
86
+ .gradio-dropdown div.wrap.wrap.wrap.wrap{
87
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
88
+ }
89
+
90
+ .gradio-dropdown:not(.multiselect) .wrap-inner.wrap-inner.wrap-inner{
91
+ flex-wrap: unset;
92
+ }
93
+
94
+ .gradio-dropdown .single-select{
95
+ white-space: nowrap;
96
+ overflow: hidden;
97
+ }
98
+
99
+ .gradio-dropdown .token-remove.remove-all.remove-all{
100
+ display: none;
101
+ }
102
+
103
+ .gradio-dropdown.multiselect .token-remove.remove-all.remove-all{
104
+ display: flex;
105
+ }
106
+
107
+ .gradio-slider input[type="number"]{
108
+ width: 6em;
109
+ }
110
+
111
+ .block.gradio-checkbox {
112
+ margin: 0.75em 1.5em 0 0;
113
+ }
114
+
115
+ .gradio-html div.wrap{
116
+ height: 100%;
117
+ }
118
+ div.gradio-html.min{
119
+ min-height: 0;
120
+ }
121
+
122
+ .block.gradio-gallery{
123
+ background: var(--input-background-fill);
124
+ }
125
+
126
+ .gradio-container .prose a, .gradio-container .prose a:visited{
127
+ color: unset;
128
+ text-decoration: none;
129
+ }
130
+
131
+ a{
132
+ font-weight: bold;
133
+ cursor: pointer;
134
+ }
135
+
136
+
137
+ /* general styled components */
138
+
139
+ .gradio-button.tool{
140
+ max-width: 2.2em;
141
+ min-width: 2.2em !important;
142
+ height: 2.4em;
143
+ align-self: end;
144
+ line-height: 1em;
145
+ border-radius: 0.5em;
146
+ }
147
+
148
+ .gradio-button.secondary-down{
149
+ background: var(--button-secondary-background-fill);
150
+ color: var(--button-secondary-text-color);
151
+ }
152
+ .gradio-button.secondary-down, .gradio-button.secondary-down:hover{
153
+ box-shadow: 1px 1px 1px rgba(0,0,0,0.25) inset, 0px 0px 3px rgba(0,0,0,0.15) inset;
154
+ }
155
+ .gradio-button.secondary-down:hover{
156
+ background: var(--button-secondary-background-fill-hover);
157
+ color: var(--button-secondary-text-color-hover);
158
+ }
159
+
160
+ .checkboxes-row{
161
+ margin-bottom: 0.5em;
162
+ margin-left: 0em;
163
+ }
164
+ .checkboxes-row > div{
165
+ flex: 0;
166
+ white-space: nowrap;
167
+ min-width: auto;
168
+ }
169
+
170
+ button.custom-button{
171
+ border-radius: var(--button-large-radius);
172
+ padding: var(--button-large-padding);
173
+ font-weight: var(--button-large-text-weight);
174
+ border: var(--button-border-width) solid var(--button-secondary-border-color);
175
+ background: var(--button-secondary-background-fill);
176
+ color: var(--button-secondary-text-color);
177
+ font-size: var(--button-large-text-size);
178
+ display: inline-flex;
179
+ justify-content: center;
180
+ align-items: center;
181
+ transition: var(--button-transition);
182
+ box-shadow: var(--button-shadow);
183
+ text-align: center;
184
+ }
185
+
186
+
187
+ /* txt2img/img2img specific */
188
+
189
+ .block.token-counter{
190
+ position: absolute;
191
+ display: inline-block;
192
+ right: 1em;
193
+ min-width: 0 !important;
194
+ width: auto;
195
+ z-index: 100;
196
+ top: -0.75em;
197
+ }
198
+
199
+ .block.token-counter span{
200
+ background: var(--input-background-fill) !important;
201
+ box-shadow: 0 0 0.0 0.3em rgba(192,192,192,0.15), inset 0 0 0.6em rgba(192,192,192,0.075);
202
+ border: 2px solid rgba(192,192,192,0.4) !important;
203
+ border-radius: 0.4em;
204
+ }
205
+
206
+ .block.token-counter.error span{
207
+ box-shadow: 0 0 0.0 0.3em rgba(255,0,0,0.15), inset 0 0 0.6em rgba(255,0,0,0.075);
208
+ border: 2px solid rgba(255,0,0,0.4) !important;
209
+ }
210
+
211
+ .block.token-counter div{
212
+ display: inline;
213
+ }
214
+
215
+ .block.token-counter span{
216
+ padding: 0.1em 0.75em;
217
+ }
218
+
219
+ [id$=_subseed_show]{
220
+ min-width: auto !important;
221
+ flex-grow: 0 !important;
222
+ display: flex;
223
+ }
224
+
225
+ [id$=_subseed_show] label{
226
+ margin-bottom: 0.5em;
227
+ align-self: end;
228
+ }
229
+
230
+ .html-log .comments{
231
+ padding-top: 0.5em;
232
+ }
233
+
234
+ .html-log .comments:empty{
235
+ padding-top: 0;
236
+ }
237
+
238
+ .html-log .performance {
239
+ font-size: 0.85em;
240
+ color: #444;
241
+ display: flex;
242
+ }
243
+
244
+ .html-log .performance p{
245
+ display: inline-block;
246
+ }
247
+
248
+ .html-log .performance p.time, .performance p.vram, .performance p.time abbr, .performance p.vram abbr {
249
+ margin-bottom: 0;
250
+ color: var(--block-title-text-color);
251
+ }
252
+
253
+ .html-log .performance p.time {
254
+ }
255
+
256
+ .html-log .performance p.vram {
257
+ margin-left: auto;
258
+ }
259
+
260
+ .html-log .performance .measurement{
261
+ color: var(--body-text-color);
262
+ font-weight: bold;
263
+ }
264
+
265
+ #txt2img_generate, #img2img_generate {
266
+ min-height: 4.5em;
267
+ }
268
+
269
+ @media screen and (min-width: 2500px) {
270
+ #txt2img_gallery, #img2img_gallery {
271
+ min-height: 768px;
272
+ }
273
+ }
274
+
275
+ #txt2img_gallery img, #img2img_gallery img, #extras_gallery img{
276
+ object-fit: scale-down;
277
+ }
278
+ #txt2img_actions_column, #img2img_actions_column {
279
+ gap: 0.5em;
280
+ }
281
+ #txt2img_tools, #img2img_tools{
282
+ gap: 0.4em;
283
+ }
284
+
285
+ .interrogate-col{
286
+ min-width: 0 !important;
287
+ max-width: fit-content;
288
+ gap: 0.5em;
289
+ }
290
+ .interrogate-col > button{
291
+ flex: 1;
292
+ }
293
+
294
+ .generate-box{
295
+ position: relative;
296
+ }
297
+ .gradio-button.generate-box-skip, .gradio-button.generate-box-interrupt{
298
+ position: absolute;
299
+ width: 50%;
300
+ height: 100%;
301
+ display: none;
302
+ background: #b4c0cc;
303
+ }
304
+ .gradio-button.generate-box-skip:hover, .gradio-button.generate-box-interrupt:hover{
305
+ background: #c2cfdb;
306
+ }
307
+ .gradio-button.generate-box-interrupt{
308
+ left: 0;
309
+ border-radius: 0.5rem 0 0 0.5rem;
310
+ }
311
+ .gradio-button.generate-box-skip{
312
+ right: 0;
313
+ border-radius: 0 0.5rem 0.5rem 0;
314
+ }
315
+
316
+ #txtimg_hr_finalres{
317
+ min-height: 0 !important;
318
+ padding: .625rem .75rem;
319
+ margin-left: -0.75em
320
+ }
321
+
322
+ #img2img_scale_resolution_preview.block{
323
+ display: flex;
324
+ align-items: end;
325
+ }
326
+
327
+ #txtimg_hr_finalres .resolution, #img2img_scale_resolution_preview .resolution{
328
+ font-weight: bold;
329
+ }
330
+
331
+ #txtimg_hr_finalres div.pending, #img2img_scale_resolution_preview div.pending {
332
+ opacity: 1;
333
+ transition: opacity 0s;
334
+ }
335
+
336
+ .inactive{
337
+ opacity: 0.5;
338
+ }
339
+
340
+ [id$=_column_batch]{
341
+ min-width: min(13.5em, 100%) !important;
342
+ }
343
+
344
+ div.dimensions-tools{
345
+ min-width: 0 !important;
346
+ max-width: fit-content;
347
+ flex-direction: column;
348
+ place-content: center;
349
+ }
350
+
351
+ div#extras_scale_to_tab div.form{
352
+ flex-direction: row;
353
+ }
354
+
355
+ #img2img_sketch, #img2maskimg, #inpaint_sketch {
356
+ overflow: overlay !important;
357
+ resize: auto;
358
+ background: var(--panel-background-fill);
359
+ z-index: 5;
360
+ }
361
+
362
+ .image-buttons button{
363
+ min-width: auto;
364
+ }
365
+
366
+ .infotext {
367
+ overflow-wrap: break-word;
368
+ }
369
+
370
+ #img2img_column_batch{
371
+ align-self: end;
372
+ margin-bottom: 0.9em;
373
+ }
374
+
375
+ #img2img_unused_scale_by_slider{
376
+ visibility: hidden;
377
+ width: 0.5em;
378
+ max-width: 0.5em;
379
+ min-width: 0.5em;
380
+ }
381
+
382
+ /* settings */
383
+ #quicksettings {
384
+ width: fit-content;
385
+ align-items: end;
386
+ }
387
+
388
+ #quicksettings > div, #quicksettings > fieldset{
389
+ max-width: 24em;
390
+ min-width: 24em;
391
+ padding: 0;
392
+ border: none;
393
+ box-shadow: none;
394
+ background: none;
395
+ }
396
+
397
+ #settings{
398
+ display: block;
399
+ }
400
+
401
+ #settings > div{
402
+ border: none;
403
+ margin-left: 10em;
404
+ }
405
+
406
+ #settings > div.tab-nav{
407
+ float: left;
408
+ display: block;
409
+ margin-left: 0;
410
+ width: 10em;
411
+ }
412
+
413
+ #settings > div.tab-nav button{
414
+ display: block;
415
+ border: none;
416
+ text-align: left;
417
+ white-space: initial;
418
+ }
419
+
420
+ #settings_result{
421
+ height: 1.4em;
422
+ margin: 0 1.2em;
423
+ }
424
+
425
+ table.popup-table{
426
+ background: var(--body-background-fill);
427
+ color: var(--body-text-color);
428
+ border-collapse: collapse;
429
+ margin: 1em;
430
+ border: 4px solid var(--body-background-fill);
431
+ }
432
+
433
+ table.popup-table td{
434
+ padding: 0.4em;
435
+ border: 1px solid rgba(128, 128, 128, 0.5);
436
+ max-width: 36em;
437
+ }
438
+
439
+ table.popup-table .muted{
440
+ color: #aaa;
441
+ }
442
+
443
+ table.popup-table .link{
444
+ text-decoration: underline;
445
+ cursor: pointer;
446
+ font-weight: bold;
447
+ }
448
+
449
+ .ui-defaults-none{
450
+ color: #aaa !important;
451
+ }
452
+
453
+ #settings span{
454
+ color: var(--body-text-color);
455
+ }
456
+
457
+ #settings .gradio-textbox, #settings .gradio-slider, #settings .gradio-number, #settings .gradio-dropdown, #settings .gradio-checkboxgroup, #settings .gradio-radio{
458
+ margin-top: 0.75em;
459
+ }
460
+
461
+ #settings span .settings-comment {
462
+ display: inline
463
+ }
464
+
465
+ .settings-comment a{
466
+ text-decoration: underline;
467
+ }
468
+
469
+ .settings-comment .info{
470
+ opacity: 0.75;
471
+ }
472
+
473
+ #sysinfo_download a.sysinfo_big_link{
474
+ font-size: 24pt;
475
+ }
476
+
477
+ #sysinfo_download a{
478
+ text-decoration: underline;
479
+ }
480
+
481
+ #sysinfo_validity{
482
+ font-size: 18pt;
483
+ }
484
+
485
+
486
+ /* live preview */
487
+ .progressDiv{
488
+ position: relative;
489
+ height: 20px;
490
+ background: #b4c0cc;
491
+ border-radius: 3px !important;
492
+ margin-bottom: -3px;
493
+ }
494
+
495
+ .dark .progressDiv{
496
+ background: #424c5b;
497
+ }
498
+
499
+ .progressDiv .progress{
500
+ width: 0%;
501
+ height: 20px;
502
+ background: #0060df;
503
+ color: white;
504
+ font-weight: bold;
505
+ line-height: 20px;
506
+ padding: 0 8px 0 0;
507
+ text-align: right;
508
+ border-radius: 3px;
509
+ overflow: visible;
510
+ white-space: nowrap;
511
+ padding: 0 0.5em;
512
+ }
513
+
514
+ .livePreview{
515
+ position: absolute;
516
+ z-index: 300;
517
+ background-color: white;
518
+ margin: -4px;
519
+ }
520
+
521
+ .dark .livePreview{
522
+ background-color: rgb(17 24 39 / var(--tw-bg-opacity));
523
+ }
524
+
525
+ .livePreview img{
526
+ position: absolute;
527
+ object-fit: contain;
528
+ width: 100%;
529
+ height: 100%;
530
+ }
531
+
532
+ /* fullscreen popup (ie in Lora's (i) button) */
533
+
534
+ .popup-metadata{
535
+ color: black;
536
+ background: white;
537
+ display: inline-block;
538
+ padding: 1em;
539
+ white-space: pre-wrap;
540
+ }
541
+
542
+ .global-popup{
543
+ display: flex;
544
+ position: fixed;
545
+ z-index: 1001;
546
+ left: 0;
547
+ top: 0;
548
+ width: 100%;
549
+ height: 100%;
550
+ overflow: auto;
551
+ background-color: rgba(20, 20, 20, 0.95);
552
+ }
553
+
554
+ .global-popup *{
555
+ box-sizing: border-box;
556
+ }
557
+
558
+ .global-popup-close:before {
559
+ content: "×";
560
+ }
561
+
562
+ .global-popup-close{
563
+ position: fixed;
564
+ right: 0.25em;
565
+ top: 0;
566
+ cursor: pointer;
567
+ color: white;
568
+ font-size: 32pt;
569
+ }
570
+
571
+ .global-popup-inner{
572
+ display: inline-block;
573
+ margin: auto;
574
+ padding: 2em;
575
+ }
576
+
577
+ /* fullpage image viewer */
578
+
579
+ #lightboxModal{
580
+ display: none;
581
+ position: fixed;
582
+ z-index: 1001;
583
+ left: 0;
584
+ top: 0;
585
+ width: 100%;
586
+ height: 100%;
587
+ overflow: auto;
588
+ background-color: rgba(20, 20, 20, 0.95);
589
+ user-select: none;
590
+ -webkit-user-select: none;
591
+ flex-direction: column;
592
+ }
593
+
594
+ .modalControls {
595
+ display: flex;
596
+ gap: 1em;
597
+ padding: 1em;
598
+ background-color: rgba(0,0,0,0.2);
599
+ }
600
+ .modalClose {
601
+ margin-left: auto;
602
+ }
603
+ .modalControls span{
604
+ color: white;
605
+ font-size: 35px;
606
+ font-weight: bold;
607
+ cursor: pointer;
608
+ width: 1em;
609
+ }
610
+
611
+ .modalControls span:hover, .modalControls span:focus{
612
+ color: #999;
613
+ text-decoration: none;
614
+ }
615
+
616
+ #lightboxModal > img {
617
+ display: block;
618
+ margin: auto;
619
+ width: auto;
620
+ }
621
+
622
+ #lightboxModal > img.modalImageFullscreen{
623
+ object-fit: contain;
624
+ height: 100%;
625
+ width: 100%;
626
+ min-height: 0;
627
+ }
628
+
629
+ .modalPrev,
630
+ .modalNext {
631
+ cursor: pointer;
632
+ position: absolute;
633
+ top: 50%;
634
+ width: auto;
635
+ padding: 16px;
636
+ margin-top: -50px;
637
+ color: white;
638
+ font-weight: bold;
639
+ font-size: 20px;
640
+ transition: 0.6s ease;
641
+ border-radius: 0 3px 3px 0;
642
+ user-select: none;
643
+ -webkit-user-select: none;
644
+ }
645
+
646
+ .modalNext {
647
+ right: 0;
648
+ border-radius: 3px 0 0 3px;
649
+ }
650
+
651
+ .modalPrev:hover,
652
+ .modalNext:hover {
653
+ background-color: rgba(0, 0, 0, 0.8);
654
+ }
655
+
656
+ #imageARPreview {
657
+ position: absolute;
658
+ top: 0px;
659
+ left: 0px;
660
+ border: 2px solid red;
661
+ background: rgba(255, 0, 0, 0.3);
662
+ z-index: 900;
663
+ pointer-events: none;
664
+ display: none;
665
+ }
666
+
667
+ /* context menu (ie for the generate button) */
668
+
669
+ #context-menu{
670
+ z-index:9999;
671
+ position:absolute;
672
+ display:block;
673
+ padding:0px 0;
674
+ border:2px solid #a55000;
675
+ border-radius:8px;
676
+ box-shadow:1px 1px 2px #CE6400;
677
+ width: 200px;
678
+ }
679
+
680
+ .context-menu-items{
681
+ list-style: none;
682
+ margin: 0;
683
+ padding: 0;
684
+ }
685
+
686
+ .context-menu-items a{
687
+ display:block;
688
+ padding:5px;
689
+ cursor:pointer;
690
+ }
691
+
692
+ .context-menu-items a:hover{
693
+ background: #a55000;
694
+ }
695
+
696
+
697
+ /* extensions */
698
+
699
+ #tab_extensions table{
700
+ border-collapse: collapse;
701
+ }
702
+
703
+ #tab_extensions table td, #tab_extensions table th{
704
+ border: 1px solid #ccc;
705
+ padding: 0.25em 0.5em;
706
+ }
707
+
708
+ #tab_extensions table input[type="checkbox"]{
709
+ margin-right: 0.5em;
710
+ appearance: checkbox;
711
+ }
712
+
713
+ #tab_extensions button{
714
+ max-width: 16em;
715
+ }
716
+
717
+ #tab_extensions input[disabled="disabled"]{
718
+ opacity: 0.5;
719
+ }
720
+
721
+ .extension-tag{
722
+ font-weight: bold;
723
+ font-size: 95%;
724
+ }
725
+
726
+ #available_extensions .info{
727
+ margin: 0;
728
+ }
729
+
730
+ #available_extensions .info{
731
+ margin: 0.5em 0;
732
+ display: flex;
733
+ margin-top: auto;
734
+ opacity: 0.80;
735
+ font-size: 90%;
736
+ }
737
+
738
+ #available_extensions .date_added{
739
+ margin-right: auto;
740
+ display: inline-block;
741
+ }
742
+
743
+ #available_extensions .star_count{
744
+ margin-left: auto;
745
+ display: inline-block;
746
+ }
747
+
748
+ /* replace original footer with ours */
749
+
750
+ footer {
751
+ display: none !important;
752
+ }
753
+
754
+ #footer{
755
+ text-align: center;
756
+ }
757
+
758
+ #footer div{
759
+ display: inline-block;
760
+ }
761
+
762
+ #footer .versions{
763
+ font-size: 85%;
764
+ opacity: 0.85;
765
+ }
766
+
767
+ /* extra networks UI */
768
+
769
+ .extra-network-cards{
770
+ height: 725px;
771
+ overflow: scroll;
772
+ resize: vertical;
773
+ }
774
+
775
+ .extra-networks > div > [id *= '_extra_']{
776
+ margin: 0.3em;
777
+ }
778
+
779
+ .extra-network-subdirs{
780
+ padding: 0.2em 0.35em;
781
+ }
782
+
783
+ .extra-network-subdirs button{
784
+ margin: 0 0.15em;
785
+ }
786
+ .extra-networks .tab-nav .search,
787
+ .extra-networks .tab-nav .sort{
788
+ display: inline-block;
789
+ margin: 0.3em;
790
+ align-self: center;
791
+ }
792
+
793
+ .extra-networks .tab-nav .search {
794
+ width: 16em;
795
+ max-width: 16em;
796
+ }
797
+
798
+ .extra-networks .tab-nav .sort {
799
+ width: 12em;
800
+ max-width: 12em;
801
+ }
802
+
803
+ #txt2img_extra_view, #img2img_extra_view {
804
+ width: auto;
805
+ }
806
+
807
+ .extra-network-cards .nocards{
808
+ margin: 1.25em 0.5em 0.5em 0.5em;
809
+ }
810
+
811
+ .extra-network-cards .nocards h1{
812
+ font-size: 1.5em;
813
+ margin-bottom: 1em;
814
+ }
815
+
816
+ .extra-network-cards .nocards li{
817
+ margin-left: 0.5em;
818
+ }
819
+
820
+
821
+ .extra-network-cards .card .button-row{
822
+ display: none;
823
+ position: absolute;
824
+ color: white;
825
+ right: 0;
826
+ }
827
+ .extra-network-cards .card:hover .button-row{
828
+ display: flex;
829
+ }
830
+
831
+ .extra-network-cards .card .card-button{
832
+ color: white;
833
+ }
834
+
835
+ .extra-network-cards .card .metadata-button:before{
836
+ content: "🛈";
837
+ }
838
+
839
+ .extra-network-cards .card .edit-button:before{
840
+ content: "🛠";
841
+ }
842
+
843
+ .extra-network-cards .card .card-button {
844
+ text-shadow: 2px 2px 3px black;
845
+ padding: 0.25em 0.1em;
846
+ font-size: 200%;
847
+ width: 1.5em;
848
+ }
849
+ .extra-network-cards .card .card-button:hover{
850
+ color: red;
851
+ }
852
+
853
+
854
+ .standalone-card-preview.card .preview{
855
+ position: absolute;
856
+ object-fit: cover;
857
+ width: 100%;
858
+ height:100%;
859
+ }
860
+
861
+ .extra-network-cards .card, .standalone-card-preview.card{
862
+ display: inline-block;
863
+ margin: 0.5rem;
864
+ width: 16rem;
865
+ height: 24rem;
866
+ box-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
867
+ border-radius: 0.2rem;
868
+ position: relative;
869
+
870
+ background-size: auto 100%;
871
+ background-position: center;
872
+ overflow: hidden;
873
+ cursor: pointer;
874
+
875
+ background-image: url('./file=html/card-no-preview.png')
876
+ }
877
+
878
+ .extra-network-cards .card:hover{
879
+ box-shadow: 0 0 2px 0.3em rgba(0, 128, 255, 0.35);
880
+ }
881
+
882
+ .extra-network-cards .card .actions .additional{
883
+ display: none;
884
+ }
885
+
886
+ .extra-network-cards .card .actions{
887
+ position: absolute;
888
+ bottom: 0;
889
+ left: 0;
890
+ right: 0;
891
+ padding: 0.5em;
892
+ background: rgba(0,0,0,0.5);
893
+ box-shadow: 0 0 0.25em 0.25em rgba(0,0,0,0.5);
894
+ text-shadow: 0 0 0.2em black;
895
+ }
896
+
897
+ .extra-network-cards .card .actions *{
898
+ color: white;
899
+ }
900
+
901
+ .extra-network-cards .card .actions .name{
902
+ font-size: 1.7em;
903
+ font-weight: bold;
904
+ line-break: anywhere;
905
+ }
906
+
907
+ .extra-network-cards .card .actions .description {
908
+ display: block;
909
+ max-height: 3em;
910
+ white-space: pre-wrap;
911
+ line-height: 1.1;
912
+ }
913
+
914
+ .extra-network-cards .card .actions .description:hover {
915
+ max-height: none;
916
+ }
917
+
918
+ .extra-network-cards .card .actions:hover .additional{
919
+ display: block;
920
+ }
921
+
922
+ .extra-network-cards .card ul{
923
+ margin: 0.25em 0 0.75em 0.25em;
924
+ cursor: unset;
925
+ }
926
+
927
+ .extra-network-cards .card ul a{
928
+ cursor: pointer;
929
+ }
930
+
931
+ .extra-network-cards .card ul a:hover{
932
+ color: red;
933
+ }
934
+
935
+ .extra-network-cards .card .preview{
936
+ position: absolute;
937
+ object-fit: cover;
938
+ width: 100%;
939
+ height:100%;
940
+ }
941
+
942
+ div.block.gradio-box.edit-user-metadata {
943
+ width: 56em;
944
+ background: var(--body-background-fill);
945
+ padding: 2em !important;
946
+ }
947
+
948
+ .edit-user-metadata .extra-network-name{
949
+ font-size: 18pt;
950
+ color: var(--body-text-color);
951
+ }
952
+
953
+ .edit-user-metadata .file-metadata{
954
+ color: var(--body-text-color);
955
+ }
956
+
957
+ .edit-user-metadata .file-metadata th{
958
+ text-align: left;
959
+ }
960
+
961
+ .edit-user-metadata .file-metadata th, .edit-user-metadata .file-metadata td{
962
+ padding: 0.3em 1em;
963
+ }
964
+
965
+ .edit-user-metadata .wrap.translucent{
966
+ background: var(--body-background-fill);
967
+ }
968
+ .edit-user-metadata .gradio-highlightedtext span{
969
+ word-break: break-word;
970
+ }
971
+
972
+ .edit-user-metadata-buttons{
973
+ margin-top: 1.5em;
974
+ }
Nocrypt/ubuntu_deps.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5ec64437172280fe43673e7d70ed1e38066aadef0c2a161de2a2931b57796627
3
+ size 5837164
Nocrypt/ui-config.json ADDED
The diff for this file is too large to render. See raw diff
 
Nocrypt/user.css ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #txt2img_extra_networks:not(div), #img2img_extra_networks:not(div){
2
+ order: 1 !important;
3
+ }
4
+
5
+ #setting_show_progress_every_n_steps > div.wrap > div > label > span {
6
+ white-space: nowrap;
7
+ overflow: hidden;
8
+ width: 220px;
9
+ text-overflow: ellipsis;
10
+ }
11
+
12
+ /* Fixing Sampling steps covered up on phone */
13
+
14
+ @media screen and (min-width: 420px) {
15
+ #sampler_selection_txt2img, #sampler_selection_img2img {
16
+ flex-direction: row;
17
+ }
18
+ }
19
+
20
+ @media screen and (max-width: 420px) {
21
+ #sampler_selection_txt2img, #sampler_selection_img2img {
22
+ flex-direction: column;
23
+ }
24
+ }
25
+
26
+ #txt2img_script_container > * .block.padded, #img2img_script_container > * .block.padded {
27
+ padding: 10px !important;
28
+ }
29
+
30
+ div.compact {
31
+ gap: 5px !important;
32
+ }
33
+
34
+
35
+ .tab-nav.scroll-hide.svelte-1g805jl {
36
+ row-gap: 5px !important;
37
+ }
38
+
39
+ #txt2img_script_container > div, #img2img_script_container > div {
40
+ margin-bottom: 10px;
41
+ }
Nocrypt/webui.py ADDED
@@ -0,0 +1,482 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import os
4
+ import sys
5
+ import time
6
+ import importlib
7
+ import signal
8
+ import re
9
+ import warnings
10
+ import json
11
+ from threading import Thread
12
+ from typing import Iterable
13
+
14
+ from fastapi import FastAPI
15
+ from fastapi.middleware.cors import CORSMiddleware
16
+ from fastapi.middleware.gzip import GZipMiddleware
17
+ from packaging import version
18
+
19
+ import logging
20
+
21
+ # We can't use cmd_opts for this because it will not have been initialized at this point.
22
+ log_level = os.environ.get("SD_WEBUI_LOG_LEVEL")
23
+ if log_level:
24
+ log_level = getattr(logging, log_level.upper(), None) or logging.INFO
25
+ logging.basicConfig(
26
+ level=log_level,
27
+ format='%(asctime)s %(levelname)s [%(name)s] %(message)s',
28
+ datefmt='%Y-%m-%d %H:%M:%S',
29
+ )
30
+
31
+ logging.getLogger("torch.distributed.nn").setLevel(logging.ERROR) # sshh...
32
+ logging.getLogger("xformers").addFilter(lambda record: 'A matching Triton is not available' not in record.getMessage())
33
+
34
+ from modules import timer
35
+ startup_timer = timer.startup_timer
36
+ startup_timer.record("launcher")
37
+
38
+ import torch
39
+ import pytorch_lightning # noqa: F401 # pytorch_lightning should be imported after torch, but it re-enables warnings on import so import once to disable them
40
+ warnings.filterwarnings(action="ignore", category=DeprecationWarning, module="pytorch_lightning")
41
+ warnings.filterwarnings(action="ignore", category=UserWarning, module="torchvision")
42
+ startup_timer.record("import torch")
43
+
44
+ import gradio # noqa: F401
45
+ startup_timer.record("import gradio")
46
+
47
+ from modules import paths, timer, import_hook, errors, devices # noqa: F401
48
+ startup_timer.record("setup paths")
49
+
50
+ import ldm.modules.encoders.modules # noqa: F401
51
+ startup_timer.record("import ldm")
52
+
53
+ from modules import extra_networks
54
+ from modules.call_queue import wrap_gradio_gpu_call, wrap_queued_call, queue_lock # noqa: F401
55
+
56
+ # Truncate version number of nightly/local build of PyTorch to not cause exceptions with CodeFormer or Safetensors
57
+ if ".dev" in torch.__version__ or "+git" in torch.__version__:
58
+ torch.__long_version__ = torch.__version__
59
+ torch.__version__ = re.search(r'[\d.]+[\d]', torch.__version__).group(0)
60
+
61
+ from modules import shared, sd_samplers, upscaler, extensions, localization, ui_tempdir, ui_extra_networks, config_states
62
+ import modules.codeformer_model as codeformer
63
+ import modules.face_restoration
64
+ import modules.gfpgan_model as gfpgan
65
+ import modules.img2img
66
+
67
+ import modules.lowvram
68
+ import modules.scripts
69
+ import modules.sd_hijack
70
+ import modules.sd_hijack_optimizations
71
+ import modules.sd_models
72
+ import modules.sd_vae
73
+ import modules.sd_unet
74
+ import modules.txt2img
75
+ import modules.script_callbacks
76
+ import modules.textual_inversion.textual_inversion
77
+ import modules.progress
78
+
79
+ import modules.ui
80
+ from modules import modelloader
81
+ from modules.shared import cmd_opts
82
+ import modules.hypernetworks.hypernetwork
83
+
84
+ startup_timer.record("other imports")
85
+
86
+
87
+ if cmd_opts.server_name:
88
+ server_name = cmd_opts.server_name
89
+ else:
90
+ server_name = "0.0.0.0" if cmd_opts.listen else None
91
+
92
+
93
+ def fix_asyncio_event_loop_policy():
94
+ """
95
+ The default `asyncio` event loop policy only automatically creates
96
+ event loops in the main threads. Other threads must create event
97
+ loops explicitly or `asyncio.get_event_loop` (and therefore
98
+ `.IOLoop.current`) will fail. Installing this policy allows event
99
+ loops to be created automatically on any thread, matching the
100
+ behavior of Tornado versions prior to 5.0 (or 5.0 on Python 2).
101
+ """
102
+
103
+ import asyncio
104
+
105
+ if sys.platform == "win32" and hasattr(asyncio, "WindowsSelectorEventLoopPolicy"):
106
+ # "Any thread" and "selector" should be orthogonal, but there's not a clean
107
+ # interface for composing policies so pick the right base.
108
+ _BasePolicy = asyncio.WindowsSelectorEventLoopPolicy # type: ignore
109
+ else:
110
+ _BasePolicy = asyncio.DefaultEventLoopPolicy
111
+
112
+ class AnyThreadEventLoopPolicy(_BasePolicy): # type: ignore
113
+ """Event loop policy that allows loop creation on any thread.
114
+ Usage::
115
+
116
+ asyncio.set_event_loop_policy(AnyThreadEventLoopPolicy())
117
+ """
118
+
119
+ def get_event_loop(self) -> asyncio.AbstractEventLoop:
120
+ try:
121
+ return super().get_event_loop()
122
+ except (RuntimeError, AssertionError):
123
+ # This was an AssertionError in python 3.4.2 (which ships with debian jessie)
124
+ # and changed to a RuntimeError in 3.4.3.
125
+ # "There is no current event loop in thread %r"
126
+ loop = self.new_event_loop()
127
+ self.set_event_loop(loop)
128
+ return loop
129
+
130
+ asyncio.set_event_loop_policy(AnyThreadEventLoopPolicy())
131
+
132
+
133
+ def check_versions():
134
+ if shared.cmd_opts.skip_version_check:
135
+ return
136
+
137
+ expected_torch_version = "2.0.0"
138
+
139
+ if version.parse(torch.__version__) < version.parse(expected_torch_version):
140
+ errors.print_error_explanation(f"""
141
+ You are running torch {torch.__version__}.
142
+ The program is tested to work with torch {expected_torch_version}.
143
+ To reinstall the desired version, run with commandline flag --reinstall-torch.
144
+ Beware that this will cause a lot of large files to be downloaded, as well as
145
+ there are reports of issues with training tab on the latest version.
146
+
147
+ Use --skip-version-check commandline argument to disable this check.
148
+ """.strip())
149
+
150
+ expected_xformers_version = "0.0.20"
151
+ if shared.xformers_available:
152
+ import xformers
153
+
154
+ if version.parse(xformers.__version__) < version.parse(expected_xformers_version):
155
+ errors.print_error_explanation(f"""
156
+ You are running xformers {xformers.__version__}.
157
+ The program is tested to work with xformers {expected_xformers_version}.
158
+ To reinstall the desired version, run with commandline flag --reinstall-xformers.
159
+
160
+ Use --skip-version-check commandline argument to disable this check.
161
+ """.strip())
162
+
163
+
164
+ def restore_config_state_file():
165
+ config_state_file = shared.opts.restore_config_state_file
166
+ if config_state_file == "":
167
+ return
168
+
169
+ shared.opts.restore_config_state_file = ""
170
+ shared.opts.save(shared.config_filename)
171
+
172
+ if os.path.isfile(config_state_file):
173
+ print(f"*** About to restore extension state from file: {config_state_file}")
174
+ with open(config_state_file, "r", encoding="utf-8") as f:
175
+ config_state = json.load(f)
176
+ config_states.restore_extension_config(config_state)
177
+ startup_timer.record("restore extension config")
178
+ elif config_state_file:
179
+ print(f"!!! Config state backup not found: {config_state_file}")
180
+
181
+
182
+ def validate_tls_options():
183
+ if not (cmd_opts.tls_keyfile and cmd_opts.tls_certfile):
184
+ return
185
+
186
+ try:
187
+ if not os.path.exists(cmd_opts.tls_keyfile):
188
+ print("Invalid path to TLS keyfile given")
189
+ if not os.path.exists(cmd_opts.tls_certfile):
190
+ print(f"Invalid path to TLS certfile: '{cmd_opts.tls_certfile}'")
191
+ except TypeError:
192
+ cmd_opts.tls_keyfile = cmd_opts.tls_certfile = None
193
+ print("TLS setup invalid, running webui without TLS")
194
+ else:
195
+ print("Running with TLS")
196
+ startup_timer.record("TLS")
197
+
198
+
199
+ def get_gradio_auth_creds() -> Iterable[tuple[str, ...]]:
200
+ """
201
+ Convert the gradio_auth and gradio_auth_path commandline arguments into
202
+ an iterable of (username, password) tuples.
203
+ """
204
+ def process_credential_line(s) -> tuple[str, ...] | None:
205
+ s = s.strip()
206
+ if not s:
207
+ return None
208
+ return tuple(s.split(':', 1))
209
+
210
+ if cmd_opts.gradio_auth:
211
+ for cred in cmd_opts.gradio_auth.split(','):
212
+ cred = process_credential_line(cred)
213
+ if cred:
214
+ yield cred
215
+
216
+ if cmd_opts.gradio_auth_path:
217
+ with open(cmd_opts.gradio_auth_path, 'r', encoding="utf8") as file:
218
+ for line in file.readlines():
219
+ for cred in line.strip().split(','):
220
+ cred = process_credential_line(cred)
221
+ if cred:
222
+ yield cred
223
+
224
+
225
+ def configure_sigint_handler():
226
+ # make the program just exit at ctrl+c without waiting for anything
227
+ def sigint_handler(sig, frame):
228
+ print(f'Interrupted with signal {sig} in {frame}')
229
+ os._exit(0)
230
+
231
+ if not os.environ.get("COVERAGE_RUN"):
232
+ # Don't install the immediate-quit handler when running under coverage,
233
+ # as then the coverage report won't be generated.
234
+ signal.signal(signal.SIGINT, sigint_handler)
235
+
236
+
237
+ def configure_opts_onchange():
238
+ shared.opts.onchange("sd_model_checkpoint", wrap_queued_call(lambda: modules.sd_models.reload_model_weights()), call=False)
239
+ shared.opts.onchange("sd_vae", wrap_queued_call(lambda: modules.sd_vae.reload_vae_weights()), call=False)
240
+ shared.opts.onchange("sd_vae_as_default", wrap_queued_call(lambda: modules.sd_vae.reload_vae_weights()), call=False)
241
+ shared.opts.onchange("temp_dir", ui_tempdir.on_tmpdir_changed)
242
+ shared.opts.onchange("gradio_theme", shared.reload_gradio_theme)
243
+ shared.opts.onchange("cross_attention_optimization", wrap_queued_call(lambda: modules.sd_hijack.model_hijack.redo_hijack(shared.sd_model)), call=False)
244
+ startup_timer.record("opts onchange")
245
+
246
+
247
+ def initialize():
248
+ fix_asyncio_event_loop_policy()
249
+ validate_tls_options()
250
+ configure_sigint_handler()
251
+ check_versions()
252
+ modelloader.cleanup_models()
253
+ configure_opts_onchange()
254
+
255
+ modules.sd_models.setup_model()
256
+ startup_timer.record("setup SD model")
257
+
258
+ codeformer.setup_model(cmd_opts.codeformer_models_path)
259
+ startup_timer.record("setup codeformer")
260
+
261
+ gfpgan.setup_model(cmd_opts.gfpgan_models_path)
262
+ startup_timer.record("setup gfpgan")
263
+
264
+ initialize_rest(reload_script_modules=False)
265
+
266
+
267
+ def initialize_rest(*, reload_script_modules=False):
268
+ """
269
+ Called both from initialize() and when reloading the webui.
270
+ """
271
+ sd_samplers.set_samplers()
272
+ extensions.list_extensions()
273
+ startup_timer.record("list extensions")
274
+
275
+ restore_config_state_file()
276
+
277
+ if cmd_opts.ui_debug_mode:
278
+ shared.sd_upscalers = upscaler.UpscalerLanczos().scalers
279
+ modules.scripts.load_scripts()
280
+ return
281
+
282
+ modules.sd_models.list_models()
283
+ startup_timer.record("list SD models")
284
+
285
+ localization.list_localizations(cmd_opts.localizations_dir)
286
+
287
+ with startup_timer.subcategory("load scripts"):
288
+ modules.scripts.load_scripts()
289
+
290
+ if reload_script_modules:
291
+ for module in [module for name, module in sys.modules.items() if name.startswith("modules.ui")]:
292
+ importlib.reload(module)
293
+ startup_timer.record("reload script modules")
294
+
295
+ modelloader.load_upscalers()
296
+ startup_timer.record("load upscalers")
297
+
298
+ modules.sd_vae.refresh_vae_list()
299
+ startup_timer.record("refresh VAE")
300
+ modules.textual_inversion.textual_inversion.list_textual_inversion_templates()
301
+ startup_timer.record("refresh textual inversion templates")
302
+
303
+ modules.script_callbacks.on_list_optimizers(modules.sd_hijack_optimizations.list_optimizers)
304
+ modules.sd_hijack.list_optimizers()
305
+ startup_timer.record("scripts list_optimizers")
306
+
307
+ modules.sd_unet.list_unets()
308
+ startup_timer.record("scripts list_unets")
309
+
310
+ def load_model():
311
+ """
312
+ Accesses shared.sd_model property to load model.
313
+ After it's available, if it has been loaded before this access by some extension,
314
+ its optimization may be None because the list of optimizaers has neet been filled
315
+ by that time, so we apply optimization again.
316
+ """
317
+
318
+ shared.sd_model # noqa: B018
319
+
320
+ if modules.sd_hijack.current_optimizer is None:
321
+ modules.sd_hijack.apply_optimizations()
322
+
323
+ Thread(target=load_model).start()
324
+
325
+ Thread(target=devices.first_time_calculation).start()
326
+
327
+ shared.reload_hypernetworks()
328
+ startup_timer.record("reload hypernetworks")
329
+
330
+ ui_extra_networks.initialize()
331
+ ui_extra_networks.register_default_pages()
332
+
333
+ extra_networks.initialize()
334
+ extra_networks.register_default_extra_networks()
335
+ startup_timer.record("initialize extra networks")
336
+
337
+
338
+ def setup_middleware(app):
339
+ app.middleware_stack = None # reset current middleware to allow modifying user provided list
340
+ app.add_middleware(GZipMiddleware, minimum_size=1000)
341
+ configure_cors_middleware(app)
342
+ app.build_middleware_stack() # rebuild middleware stack on-the-fly
343
+
344
+
345
+ def configure_cors_middleware(app):
346
+ cors_options = {
347
+ "allow_methods": ["*"],
348
+ "allow_headers": ["*"],
349
+ "allow_credentials": True,
350
+ }
351
+ if cmd_opts.cors_allow_origins:
352
+ cors_options["allow_origins"] = cmd_opts.cors_allow_origins.split(',')
353
+ if cmd_opts.cors_allow_origins_regex:
354
+ cors_options["allow_origin_regex"] = cmd_opts.cors_allow_origins_regex
355
+ app.add_middleware(CORSMiddleware, **cors_options)
356
+
357
+
358
+ def create_api(app):
359
+ from modules.api.api import Api
360
+ api = Api(app, queue_lock)
361
+ return api
362
+
363
+
364
+ def api_only():
365
+ initialize()
366
+
367
+ app = FastAPI()
368
+ setup_middleware(app)
369
+ api = create_api(app)
370
+
371
+ modules.script_callbacks.app_started_callback(None, app)
372
+
373
+ print(f"Startup time: {startup_timer.summary()}.")
374
+ api.launch(
375
+ server_name="0.0.0.0" if cmd_opts.listen else "127.0.0.1",
376
+ port=cmd_opts.port if cmd_opts.port else 7861,
377
+ root_path=f"/{cmd_opts.subpath}" if cmd_opts.subpath else ""
378
+ )
379
+
380
+
381
+ def webui():
382
+ launch_api = cmd_opts.api
383
+ initialize()
384
+
385
+ while 1:
386
+ if shared.opts.clean_temp_dir_at_start:
387
+ ui_tempdir.cleanup_tmpdr()
388
+ startup_timer.record("cleanup temp dir")
389
+
390
+ modules.script_callbacks.before_ui_callback()
391
+ startup_timer.record("scripts before_ui_callback")
392
+
393
+ shared.demo = modules.ui.create_ui()
394
+ startup_timer.record("create ui")
395
+
396
+ if not cmd_opts.no_gradio_queue:
397
+ shared.demo.queue(64)
398
+
399
+ gradio_auth_creds = list(get_gradio_auth_creds()) or None
400
+
401
+ app, local_url, share_url = shared.demo.launch(
402
+ share=cmd_opts.share,
403
+ server_name=server_name,
404
+ server_port=cmd_opts.port,
405
+ ssl_keyfile=cmd_opts.tls_keyfile,
406
+ ssl_certfile=cmd_opts.tls_certfile,
407
+ ssl_verify=cmd_opts.disable_tls_verify,
408
+ debug=cmd_opts.gradio_debug,
409
+ auth=gradio_auth_creds,
410
+ inbrowser=cmd_opts.autolaunch and os.getenv('SD_WEBUI_RESTARTING') != '1',
411
+ prevent_thread_lock=True,
412
+ allowed_paths=cmd_opts.gradio_allowed_path,
413
+ app_kwargs={
414
+ "docs_url": "/docs",
415
+ "redoc_url": "/redoc",
416
+ },
417
+ root_path=f"/{cmd_opts.subpath}" if cmd_opts.subpath else "",
418
+ )
419
+
420
+ # after initial launch, disable --autolaunch for subsequent restarts
421
+ cmd_opts.autolaunch = False
422
+
423
+ startup_timer.record("gradio launch")
424
+
425
+ # gradio uses a very open CORS policy via app.user_middleware, which makes it possible for
426
+ # an attacker to trick the user into opening a malicious HTML page, which makes a request to the
427
+ # running web ui and do whatever the attacker wants, including installing an extension and
428
+ # running its code. We disable this here. Suggested by RyotaK.
429
+ app.user_middleware = [x for x in app.user_middleware if x.cls.__name__ != 'CORSMiddleware']
430
+
431
+ setup_middleware(app)
432
+
433
+ modules.progress.setup_progress_api(app)
434
+ modules.ui.setup_ui_api(app)
435
+
436
+ if launch_api:
437
+ create_api(app)
438
+
439
+ ui_extra_networks.add_pages_to_demo(app)
440
+
441
+ startup_timer.record("add APIs")
442
+
443
+ with startup_timer.subcategory("app_started_callback"):
444
+ modules.script_callbacks.app_started_callback(shared.demo, app)
445
+
446
+ timer.startup_record = startup_timer.dump()
447
+ print(f"Startup time: {startup_timer.summary()}.")
448
+
449
+ try:
450
+ while True:
451
+ server_command = shared.state.wait_for_server_command(timeout=5)
452
+ if server_command:
453
+ if server_command in ("stop", "restart"):
454
+ break
455
+ else:
456
+ print(f"Unknown server command: {server_command}")
457
+ except KeyboardInterrupt:
458
+ print('Caught KeyboardInterrupt, stopping...')
459
+ server_command = "stop"
460
+
461
+ if server_command == "stop":
462
+ print("Stopping server...")
463
+ # If we catch a keyboard interrupt, we want to stop the server and exit.
464
+ shared.demo.close()
465
+ break
466
+
467
+ print('Restarting UI...')
468
+ shared.demo.close()
469
+ time.sleep(0.5)
470
+ startup_timer.reset()
471
+ modules.script_callbacks.app_reload_callback()
472
+ startup_timer.record("app reload callback")
473
+ modules.script_callbacks.script_unloaded_callback()
474
+ startup_timer.record("scripts unloaded callback")
475
+ initialize_rest(reload_script_modules=True)
476
+
477
+
478
+ if __name__ == "__main__":
479
+ if cmd_opts.nowebui:
480
+ api_only()
481
+ else:
482
+ webui()