import{s as _t,o as Gt,n as W}from"../chunks/scheduler.8c3d61f6.js";import{S as Wt,i as kt,g as J,s as p,r as u,A as Bt,h as T,f as t,c as o,j as Ut,u as f,x as w,k as Zt,y as Ct,a as l,v as M,d as y,t as h,w as b}from"../chunks/index.da70eac4.js";import{T as gt}from"../chunks/Tip.1d9b8c37.js";import{C as Z}from"../chunks/CodeBlock.a9c4becf.js";import{H as V,E as xt}from"../chunks/getInferenceSnippets.28ca3596.js";import{H as zs,a as Ve}from"../chunks/HfOption.6c3b4e77.js";function Xt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwVEVYVDJJTUFHRV9CTE9DS1MlMEElMEFibG9ja3MlMjAlM0QlMjBTZXF1ZW50aWFsUGlwZWxpbmVCbG9ja3MuZnJvbV9ibG9ja3NfZGljdChURVhUMklNQUdFX0JMT0NLUyklMEElMEFtb2R1bGFyX3JlcG9faWQlMjAlM0QlMjAlMjJZaVlpWHUlMkZtb2R1bGFyLWxvYWRlci10MmktMDcwNCUyMiUwQXBpcGVsaW5lJTIwJTNEJTIwYmxvY2tzLmluaXRfcGlwZWxpbmUobW9kdWxhcl9yZXBvX2lkKSUwQSUwQXBpcGVsaW5lLmxvYWRfY29tcG9uZW50cyh0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYpJTBBcGlwZWxpbmUudG8oJTIyY3VkYSUyMiklMEElMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCUzRCUyMkFzdHJvbmF1dCUyMGluJTIwYSUyMGp1bmdsZSUyQyUyMGNvbGQlMjBjb2xvciUyMHBhbGV0dGUlMkMlMjBtdXRlZCUyMGNvbG9ycyUyQyUyMGRldGFpbGVkJTJDJTIwOGslMjIlMkMlMjBvdXRwdXQlM0QlMjJpbWFnZXMlMjIpJTVCMCU1RCUwQWltYWdlLnNhdmUoJTIybW9kdWxhcl90Mmlfb3V0LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> TEXT2IMAGE_BLOCKS

blocks = SequentialPipelineBlocks.from_blocks_dict(TEXT2IMAGE_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
pipeline = blocks.init_pipeline(modular_repo_id)

pipeline.load_components(torch_dtype=torch.float16)
pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)

image = pipeline(prompt=<span class="hljs-string">&quot;Astronaut in a jungle, cold color palette, muted colors, detailed, 8k&quot;</span>, output=<span class="hljs-string">&quot;images&quot;</span>)[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;modular_t2i_out.png&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:W,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function Vt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwSU1BR0UySU1BR0VfQkxPQ0tTJTBBJTBBYmxvY2tzJTIwJTNEJTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzLmZyb21fYmxvY2tzX2RpY3QoSU1BR0UySU1BR0VfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBcGlwZWxpbmUlMjAlM0QlMjBibG9ja3MuaW5pdF9waXBlbGluZShtb2R1bGFyX3JlcG9faWQpJTBBJTBBcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlbGluZS50byglMjJjdWRhJTIyKSUwQSUwQXVybCUyMCUzRCUyMCUyMmh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZkYXRhc2V0cyUyRmh1Z2dpbmdmYWNlJTJGZG9jdW1lbnRhdGlvbi1pbWFnZXMlMkZyZXNvbHZlJTJGbWFpbiUyRmRpZmZ1c2VycyUyRnNkeGwtdGV4dDJpbWcucG5nJTIyJTBBaW5pdF9pbWFnZSUyMCUzRCUyMGxvYWRfaW1hZ2UodXJsKSUwQXByb21wdCUyMCUzRCUyMCUyMmElMjBkb2clMjBjYXRjaGluZyUyMGElMjBmcmlzYmVlJTIwaW4lMjB0aGUlMjBqdW5nbGUlMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW5pdF9pbWFnZSUyQyUyMHN0cmVuZ3RoJTNEMC44JTJDJTIwb3V0cHV0JTNEJTIyaW1hZ2VzJTIyKSU1QjAlNUQlMEFpbWFnZS5zYXZlKCUyMm1vZHVsYXJfaTJpX291dC5wbmclMjIp",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> IMAGE2IMAGE_BLOCKS

blocks = SequentialPipelineBlocks.from_blocks_dict(IMAGE2IMAGE_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
pipeline = blocks.init_pipeline(modular_repo_id)

pipeline.load_components(torch_dtype=torch.float16)
pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)

url = <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/sdxl-text2img.png&quot;</span>
init_image = load_image(url)
prompt = <span class="hljs-string">&quot;a dog catching a frisbee in the jungle&quot;</span>
image = pipeline(prompt=prompt, image=init_image, strength=<span class="hljs-number">0.8</span>, output=<span class="hljs-string">&quot;images&quot;</span>)[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;modular_i2i_out.png&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:W,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function vt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwSU5QQUlOVF9CTE9DS1MlMEFmcm9tJTIwZGlmZnVzZXJzLnV0aWxzJTIwaW1wb3J0JTIwbG9hZF9pbWFnZSUwQSUwQWJsb2NrcyUyMCUzRCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2Nrcy5mcm9tX2Jsb2Nrc19kaWN0KElOUEFJTlRfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBcGlwZWxpbmUlMjAlM0QlMjBibG9ja3MuaW5pdF9waXBlbGluZShtb2R1bGFyX3JlcG9faWQpJTBBJTBBcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlbGluZS50byglMjJjdWRhJTIyKSUwQSUwQWltZ191cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGZGF0YXNldHMlMkZodWdnaW5nZmFjZSUyRmRvY3VtZW50YXRpb24taW1hZ2VzJTJGcmVzb2x2ZSUyRm1haW4lMkZkaWZmdXNlcnMlMkZzZHhsLXRleHQyaW1nLnBuZyUyMiUwQW1hc2tfdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmRhdGFzZXRzJTJGaHVnZ2luZ2ZhY2UlMkZkb2N1bWVudGF0aW9uLWltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGZGlmZnVzZXJzJTJGc2R4bC1pbnBhaW50LW1hc2sucG5nJTIyJTBBJTBBaW5pdF9pbWFnZSUyMCUzRCUyMGxvYWRfaW1hZ2UoaW1nX3VybCklMEFtYXNrX2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZShtYXNrX3VybCklMEElMEFwcm9tcHQlMjAlM0QlMjAlMjJBJTIwZGVlcCUyMHNlYSUyMGRpdmVyJTIwZmxvYXRpbmclMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW5pdF9pbWFnZSUyQyUyMG1hc2tfaW1hZ2UlM0RtYXNrX2ltYWdlJTJDJTIwc3RyZW5ndGglM0QwLjg1JTJDJTIwb3V0cHV0JTNEJTIyaW1hZ2VzJTIyKSU1QjAlNUQlMEFpbWFnZS5zYXZlKCUyMm1vZHVhcl9pbnBhaW50X291dC5wbmclMjIp",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> INPAINT_BLOCKS
<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image

blocks = SequentialPipelineBlocks.from_blocks_dict(INPAINT_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
pipeline = blocks.init_pipeline(modular_repo_id)

pipeline.load_components(torch_dtype=torch.float16)
pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)

img_url = <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/sdxl-text2img.png&quot;</span>
mask_url = <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/sdxl-inpaint-mask.png&quot;</span>

init_image = load_image(img_url)
mask_image = load_image(mask_url)

prompt = <span class="hljs-string">&quot;A deep sea diver floating&quot;</span>
image = pipeline(prompt=prompt, image=init_image, mask_image=mask_image, strength=<span class="hljs-number">0.85</span>, output=<span class="hljs-string">&quot;images&quot;</span>)[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;moduar_inpaint_out.png&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:W,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function It(j){let n,c,a,m,i,r;return n=new Ve({props:{id:"example",option:"text-to-image",$$slots:{default:[Xt]},$$scope:{ctx:j}}}),a=new Ve({props:{id:"example",option:"image-to-image",$$slots:{default:[Vt]},$$scope:{ctx:j}}}),i=new Ve({props:{id:"example",option:"inpainting",$$slots:{default:[vt]},$$scope:{ctx:j}}}),{c(){u(n.$$.fragment),c=p(),u(a.$$.fragment),m=p(),u(i.$$.fragment)},l(d){f(n.$$.fragment,d),c=o(d),f(a.$$.fragment,d),m=o(d),f(i.$$.fragment,d)},m(d,U){M(n,d,U),l(d,c,U),M(a,d,U),l(d,m,U),M(i,d,U),r=!0},p(d,U){const g={};U&2&&(g.$$scope={dirty:U,ctx:d}),n.$set(g);const _={};U&2&&(_.$$scope={dirty:U,ctx:d}),a.$set(_);const $={};U&2&&($.$$scope={dirty:U,ctx:d}),i.$set($)},i(d){r||(y(n.$$.fragment,d),y(a.$$.fragment,d),y(i.$$.fragment,d),r=!0)},o(d){h(n.$$.fragment,d),h(a.$$.fragment,d),h(i.$$.fragment,d),r=!1},d(d){d&&(t(c),t(m)),b(n,d),b(a,d),b(i,d)}}}function Rt(j){let n,c='Refer to the <a href="./components_manager">ComponentsManager</a> doc for more details about how it can help manage components across different workflows.';return{c(){n=J("p"),n.innerHTML=c},l(a){n=T(a,"P",{"data-svelte-h":!0}),w(n)!=="svelte-5nhw1d"&&(n.innerHTML=c)},m(a,m){l(a,n,m)},p:W,d(a){a&&t(n)}}}function Yt(j){let n,c='Use the <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks.init_pipeline">init_pipeline()</a> method to create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> from the component and configuration specifications. This method loads the <em>specifications</em> from a <code>modular_model_index.json</code> file, but it doesn’t load the <em>models</em> yet.',a,m,i;return m=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENvbXBvbmVudHNNYW5hZ2VyJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcyUyMGltcG9ydCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2NrcyUwQWZyb20lMjBkaWZmdXNlcnMubW9kdWxhcl9waXBlbGluZXMuc3RhYmxlX2RpZmZ1c2lvbl94bCUyMGltcG9ydCUyMFRFWFQySU1BR0VfQkxPQ0tTJTBBJTBBdDJpX2Jsb2NrcyUyMCUzRCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2Nrcy5mcm9tX2Jsb2Nrc19kaWN0KFRFWFQySU1BR0VfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBY29tcG9uZW50cyUyMCUzRCUyMENvbXBvbmVudHNNYW5hZ2VyKCklMEF0MmlfcGlwZWxpbmUlMjAlM0QlMjB0MmlfYmxvY2tzLmluaXRfcGlwZWxpbmUobW9kdWxhcl9yZXBvX2lkJTJDJTIwY29tcG9uZW50c19tYW5hZ2VyJTNEY29tcG9uZW50cyk=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ComponentsManager
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> TEXT2IMAGE_BLOCKS

t2i_blocks = SequentialPipelineBlocks.from_blocks_dict(TEXT2IMAGE_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
components = ComponentsManager()
t2i_pipeline = t2i_blocks.init_pipeline(modular_repo_id, components_manager=components)`,wrap:!1}}),{c(){n=J("p"),n.innerHTML=c,a=p(),u(m.$$.fragment)},l(r){n=T(r,"P",{"data-svelte-h":!0}),w(n)!=="svelte-rrycn"&&(n.innerHTML=c),a=o(r),f(m.$$.fragment,r)},m(r,d){l(r,n,d),l(r,a,d),M(m,r,d),i=!0},p:W,i(r){i||(y(m.$$.fragment,r),i=!0)},o(r){h(m.$$.fragment,r),i=!1},d(r){r&&(t(n),t(a)),b(m,r)}}}function Nt(j){let n,c='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a> method creates a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> from a modular repository on the Hub.',a,m,i,r,d='Add the <code>trust_remote_code</code> argument to load a custom <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a>.',U,g,_;return m=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyME1vZHVsYXJQaXBlbGluZSUyQyUyMENvbXBvbmVudHNNYW5hZ2VyJTBBJTBBY29tcG9uZW50cyUyMCUzRCUyMENvbXBvbmVudHNNYW5hZ2VyKCklMEFwaXBlbGluZSUyMCUzRCUyME1vZHVsYXJQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyWWlZaVh1JTJGbW9kdWxhci1sb2FkZXItdDJpLTA3MDQlMjIlMkMlMjBjb21wb25lbnRzX21hbmFnZXIlM0Rjb21wb25lbnRzKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ModularPipeline, ComponentsManager

components = ComponentsManager()
pipeline = ModularPipeline.from_pretrained(<span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>, components_manager=components)`,wrap:!1}}),g=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyME1vZHVsYXJQaXBlbGluZSUyQyUyMENvbXBvbmVudHNNYW5hZ2VyJTBBJTBBY29tcG9uZW50cyUyMCUzRCUyMENvbXBvbmVudHNNYW5hZ2VyKCklMEFtb2R1bGFyX3JlcG9faWQlMjAlM0QlMjAlMjJZaVlpWHUlMkZtb2R1bGFyLWRpZmZkaWZmLTA3MDQlMjIlMEFkaWZmZGlmZl9waXBlbGluZSUyMCUzRCUyME1vZHVsYXJQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQobW9kdWxhcl9yZXBvX2lkJTJDJTIwdHJ1c3RfcmVtb3RlX2NvZGUlM0RUcnVlJTJDJTIwY29tcG9uZW50c19tYW5hZ2VyJTNEY29tcG9uZW50cyk=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ModularPipeline, ComponentsManager

components = ComponentsManager()
modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-diffdiff-0704&quot;</span>
diffdiff_pipeline = ModularPipeline.from_pretrained(modular_repo_id, trust_remote_code=<span class="hljs-literal">True</span>, components_manager=components)`,wrap:!1}}),{c(){n=J("p"),n.innerHTML=c,a=p(),u(m.$$.fragment),i=p(),r=J("p"),r.innerHTML=d,U=p(),u(g.$$.fragment)},l($){n=T($,"P",{"data-svelte-h":!0}),w(n)!=="svelte-11rpnet"&&(n.innerHTML=c),a=o($),f(m.$$.fragment,$),i=o($),r=T($,"P",{"data-svelte-h":!0}),w(r)!=="svelte-19zxms2"&&(r.innerHTML=d),U=o($),f(g.$$.fragment,$)},m($,G){l($,n,G),l($,a,G),M(m,$,G),l($,i,G),l($,r,G),l($,U,G),M(g,$,G),_=!0},p:W,i($){_||(y(m.$$.fragment,$),y(g.$$.fragment,$),_=!0)},o($){h(m.$$.fragment,$),h(g.$$.fragment,$),_=!1},d($){$&&(t(n),t(a),t(i),t(r),t(U)),b(m,$),b(g,$)}}}function Qt(j){let n,c,a,m;return n=new Ve({props:{id:"create",option:"ModularPipelineBlocks",$$slots:{default:[Yt]},$$scope:{ctx:j}}}),a=new Ve({props:{id:"create",option:"from_pretrained",$$slots:{default:[Nt]},$$scope:{ctx:j}}}),{c(){u(n.$$.fragment),c=p(),u(a.$$.fragment)},l(i){f(n.$$.fragment,i),c=o(i),f(a.$$.fragment,i)},m(i,r){M(n,i,r),l(i,c,r),M(a,i,r),m=!0},p(i,r){const d={};r&2&&(d.$$scope={dirty:r,ctx:i}),n.$set(d);const U={};r&2&&(U.$$scope={dirty:r,ctx:i}),a.$set(U)},i(i){m||(y(n.$$.fragment,i),y(a.$$.fragment,i),m=!0)},o(i){h(n.$$.fragment,i),h(a.$$.fragment,i),m=!1},d(i){i&&t(c),b(n,i),b(a,i)}}}function zt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEF0MmlfcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEF0MmlfcGlwZWxpbmUudG8oJTIyY3VkYSUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch

t2i_pipeline.load_components(torch_dtype=torch.float16)
t2i_pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:W,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){h(n.$$.fragment,a),c=!1},d(a){b(n,a)}}}function Ht(j){let n,c="The example below only loads the UNet and VAE.",a,m,i;return m=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEF0MmlfcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKG5hbWVzJTNEJTVCJTIydW5ldCUyMiUyQyUyMCUyMnZhZSUyMiU1RCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNik=",highlighted:`<span class="hljs-keyword">import</span> torch

t2i_pipeline.load_components(names=[<span class="hljs-string">&quot;unet&quot;</span>, <span class="hljs-string">&quot;vae&quot;</span>], torch_dtype=torch.float16)`,wrap:!1}}),{c(){n=J("p"),n.textContent=c,a=p(),u(m.$$.fragment)},l(r){n=T(r,"P",{"data-svelte-h":!0}),w(n)!=="svelte-12gw1cx"&&(n.textContent=c),a=o(r),f(m.$$.fragment,r)},m(r,d){l(r,n,d),l(r,a,d),M(m,r,d),i=!0},p:W,i(r){i||(y(m.$$.fragment,r),i=!0)},o(r){h(m.$$.fragment,r),i=!1},d(r){r&&(t(n),t(a)),b(m,r)}}}function St(j){let n,c,a,m;return n=new Ve({props:{id:"load",option:"load_components",$$slots:{default:[zt]},$$scope:{ctx:j}}}),a=new Ve({props:{id:"load",option:"load_components",$$slots:{default:[Ht]},$$scope:{ctx:j}}}),{c(){u(n.$$.fragment),c=p(),u(a.$$.fragment)},l(i){f(n.$$.fragment,i),c=o(i),f(a.$$.fragment,i)},m(i,r){M(n,i,r),l(i,c,r),M(a,i,r),m=!0},p(i,r){const d={};r&2&&(d.$$scope={dirty:r,ctx:i}),n.$set(d);const U={};r&2&&(U.$$scope={dirty:r,ctx:i}),a.$set(U)},i(i){m||(y(n.$$.fragment,i),y(a.$$.fragment,i),m=!0)},o(i){h(n.$$.fragment,i),h(a.$$.fragment,i),m=!1},d(i){i&&t(c),b(n,i),b(a,i)}}}function Ft(j){let n,c="A component may change from pretrained to config when updating a component. The component type is initially defined in a block’s <code>expected_components</code> field.";return{c(){n=J("p"),n.innerHTML=c},l(a){n=T(a,"P",{"data-svelte-h":!0}),w(n)!=="svelte-1t3fwfx"&&(n.innerHTML=c)},m(a,m){l(a,n,m)},p:W,d(a){a&&t(n)}}}function Et(j){let n,c,a,m,i,r,d,U='<a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> converts <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks">ModularPipelineBlocks</a>’s into an executable pipeline that loads models and performs the computation steps defined in the block. It is the main interface for running a pipeline and it is very similar to the <a href="/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a> API.',g,_,$="The main difference is to include an expected <code>output</code> argument in the pipeline.",G,k,Ie,v,Hs='This guide will show you how to create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> and manage the components in it.',Re,I,Ye,R,Ss="Blocks are <code>InsertableDict</code> objects that can be inserted at specific positions, providing a flexible way to mix-and-match blocks.",Ne,Y,Fs="Use <code>insert()</code> on either the block class or <code>sub_blocks</code> attribute to add a block.",Qe,N,ze,Q,Es="Use <code>pop()</code> on either the block class or <code>sub_blocks</code> attribute to remove a block.",He,z,Se,H,Ls="Swap blocks by setting the existing block to the new block.",Fe,S,Ee,F,Le,E,qs='There are two ways to create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a>. Assemble and create a pipeline from <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks">ModularPipelineBlocks</a> or load an existing pipeline with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a>.',qe,L,As='You should also initialize a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager">ComponentsManager</a> to handle device placement and memory and component management.',Ae,B,Pe,C,De,q,Ke,A,Ps='A <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> doesn’t automatically instantiate with components. It only loads the configuration and component specifications. You can load all components with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.load_components">load_components()</a> or only load specific components with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.load_components">load_components()</a>.',Oe,x,es,P,Ds="Print the pipeline to inspect the loaded pretrained components.",ss,D,ts,K,Ks="This should match the <code>modular_model_index.json</code> file from the modular repository a pipeline is initialized from. If a pipeline doesn’t need a component, it won’t be included even if it exists in the modular repository.",ls,O,Os="To modify where components are loaded from, edit the <code>modular_model_index.json</code> file in the repository and change it to your desired loading path. The example below loads a UNet from a different repository.",ns,ee,as,se,is,te,et="The pipeline properties below provide more information about which components are loaded.",ps,le,st="Use <code>component_names</code> to return all expected components.",os,ne,rs,ae,tt='Use <code>null_component_names</code> to return components that aren’t loaded yet. Load these components with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a>.',ms,ie,cs,pe,lt="Use <code>pretrained_component_names</code> to return components that will be loaded from pretrained models.",ds,oe,us,re,nt="Use <code>config_component_names</code> to return components that are created with the default config (not loaded from a modular repository). Components from a config aren’t included because they are already initialized during pipeline creation. This is why they aren’t listed in <code>null_component_names</code>.",fs,me,Ms,ce,ys,de,at="Components may be updated depending on whether it is a <em>pretrained component</em> or a <em>config component</em>.",hs,X,bs,ue,it='A pretrained component is updated with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a> whereas a config component is updated by eihter passing the object directly or with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a>.',Js,fe,pt='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a> shows <code>default_creation_method=&quot;from_pretrained&quot;</code> for a pretrained component shows <code>default_creation_method=&quot;from_config</code> for a config component.',Ts,Me,ot='To update a pretrained component, create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a> with the name of the component and where to load it from. Use the <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec.load">load()</a> method to load the component.',ws,ye,$s,he,rt='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.update_components">update_components()</a> method replaces the component with a new one.',js,be,Us,Je,mt="When a component is updated, the loading specifications are also updated in the pipeline config.",Zs,Te,gs,we,ct='When you use <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec.load">load()</a>, the new component maintains its loading specifications. This makes it possible to extract the specification and recreate the component.',_s,$e,Gs,je,dt='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.get_component_spec">get_component_spec()</a> method gets a copy of the current component specification to modify or update.',Ws,Ue,ks,Ze,Bs,ge,ut="A repository is required if the pipeline blocks use <em>pretrained components</em>. The repository supplies loading specifications and metadata.",Cs,_e,ft='<a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> specifically requires <em>modular repositories</em> (see <a href="https://huggingface.co/YiYiXu/modular-diffdiff" rel="nofollow">example repository</a>) which are more flexible than a typical repository. It contains a <code>modular_model_index.json</code> file containing the following 3 elements.',xs,Ge,Mt="<li><code>library</code> and <code>class</code> shows which library the component was loaded from and it’s class. If <code>null</code>, the component hasn’t been loaded yet.</li> <li><code>loading_specs_dict</code> contains the information required to load the component such as the repository and subfolder it is loaded from.</li>",Xs,We,yt="Unlike standard repositories, a modular repository can fetch components from different repositories based on the <code>loading_specs_dict</code>. Components don’t need to exist in the same repository.",Vs,ke,ht='A modular repository may contain custom code for loading a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a>. This allows you to use specialized blocks that aren’t native to Diffusers.',vs,Be,Is,Ce,bt='The <a href="https://huggingface.co/YiYiXu/modular-diffdiff-0704/blob/main/config.json" rel="nofollow">config.json</a> file contains an <code>auto_map</code> key that points to where a custom block is defined in <code>block.py</code>.',Rs,xe,Ys,Xe,Ns,ve,Qs;return i=new V({props:{title:"ModularPipeline",local:"modularpipeline",headingTag:"h1"}}),k=new zs({props:{id:"example",options:["text-to-image","image-to-image","inpainting"],$$slots:{default:[It]},$$scope:{ctx:j}}}),I=new V({props:{title:"Adding blocks",local:"adding-blocks",headingTag:"h2"}}),N=new Z({props:{code:"JTIzJTIwQkxPQ0tTJTIwaXMlMjBkaWN0JTIwb2YlMjBibG9jayUyMGNsYXNzZXMlMkMlMjB5b3UlMjBuZWVkJTIwdG8lMjBhZGQlMjBjbGFzcyUyMHRvJTIwaXQlMEFCTE9DS1MuaW5zZXJ0KCUyMmJsb2NrX25hbWUlMjIlMkMlMjBCbG9ja0NsYXNzJTJDJTIwaW5kZXgpJTBBJTIzJTIwc3ViX2Jsb2NrcyUyMGF0dHJpYnV0ZSUyMGNvbnRhaW5zJTIwaW5zdGFuY2UlMkMlMjBhZGQlMjBhJTIwYmxvY2slMjBpbnN0YW5jZSUyMHRvJTIwdGhlJTIwJTIwYXR0cmlidXRlJTBBdDJpX2Jsb2Nrcy5zdWJfYmxvY2tzLmluc2VydCglMjJibG9ja19uYW1lJTIyJTJDJTIwYmxvY2tfaW5zdGFuY2UlMkMlMjBpbmRleCk=",highlighted:`<span class="hljs-comment"># BLOCKS is dict of block classes, you need to add class to it</span>
BLOCKS.insert(<span class="hljs-string">&quot;block_name&quot;</span>, BlockClass, index)
<span class="hljs-comment"># sub_blocks attribute contains instance, add a block instance to the  attribute</span>
t2i_blocks.sub_blocks.insert(<span class="hljs-string">&quot;block_name&quot;</span>, block_instance, index)`,wrap:!1}}),z=new Z({props:{code:"JTIzJTIwcmVtb3ZlJTIwYSUyMGJsb2NrJTIwY2xhc3MlMjBmcm9tJTIwcHJlc2V0JTBBQkxPQ0tTLnBvcCglMjJ0ZXh0X2VuY29kZXIlMjIpJTBBJTIzJTIwc3BsaXQlMjBvdXQlMjBhJTIwYmxvY2slMjBpbnN0YW5jZSUyMG9uJTIwaXRzJTIwb3duJTBBdGV4dF9lbmNvZGVyX2Jsb2NrJTIwJTNEJTIwdDJpX2Jsb2Nrcy5zdWJfYmxvY2tzLnBvcCglMjJ0ZXh0X2VuY29kZXIlMjIp",highlighted:`<span class="hljs-comment"># remove a block class from preset</span>
BLOCKS.pop(<span class="hljs-string">&quot;text_encoder&quot;</span>)
<span class="hljs-comment"># split out a block instance on its own</span>
text_encoder_block = t2i_blocks.sub_blocks.pop(<span class="hljs-string">&quot;text_encoder&quot;</span>)`,wrap:!1}}),S=new Z({props:{code:"JTIzJTIwUmVwbGFjZSUyMGJsb2NrJTIwY2xhc3MlMjBpbiUyMHByZXNldCUwQUJMT0NLUyU1QiUyMnByZXBhcmVfbGF0ZW50cyUyMiU1RCUyMCUzRCUyMEN1c3RvbVByZXBhcmVMYXRlbnRzJTBBJTIzJTIwUmVwbGFjZSUyMGluJTIwc3ViX2Jsb2NrcyUyMGF0dHJpYnV0ZSUyMHVzaW5nJTIwYW4lMjBibG9jayUyMGluc3RhbmNlJTBBdDJpX2Jsb2Nrcy5zdWJfYmxvY2tzJTVCJTIycHJlcGFyZV9sYXRlbnRzJTIyJTVEJTIwJTNEJTIwQ3VzdG9tUHJlcGFyZUxhdGVudHMoKQ==",highlighted:`<span class="hljs-comment"># Replace block class in preset</span>
BLOCKS[<span class="hljs-string">&quot;prepare_latents&quot;</span>] = CustomPrepareLatents
<span class="hljs-comment"># Replace in sub_blocks attribute using an block instance</span>
t2i_blocks.sub_blocks[<span class="hljs-string">&quot;prepare_latents&quot;</span>] = CustomPrepareLatents()`,wrap:!1}}),F=new V({props:{title:"Creating a pipeline",local:"creating-a-pipeline",headingTag:"h2"}}),B=new gt({props:{warning:!1,$$slots:{default:[Rt]},$$scope:{ctx:j}}}),C=new zs({props:{id:"create",options:["ModularPipelineBlocks","from_pretrained"],$$slots:{default:[Qt]},$$scope:{ctx:j}}}),q=new V({props:{title:"Loading components",local:"loading-components",headingTag:"h2"}}),x=new zs({props:{id:"load",options:["load_components","load_components"],$$slots:{default:[St]},$$scope:{ctx:j}}}),D=new Z({props:{code:"dDJpX3BpcGVsaW5l",highlighted:"t2i_pipeline",wrap:!1}}),ee=new Z({props:{code:"JTIzJTIwb3JpZ2luYWwlMEElMjJ1bmV0JTIyJTNBJTIwJTVCJTBBJTIwJTIwbnVsbCUyQyUyMG51bGwlMkMlMEElMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjJyZXBvJTIyJTNBJTIwJTIyc3RhYmlsaXR5YWklMkZzdGFibGUtZGlmZnVzaW9uLXhsLWJhc2UtMS4wJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIyc3ViZm9sZGVyJTIyJTNBJTIwJTIydW5ldCUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMnZhcmlhbnQlMjIlM0ElMjAlMjJmcDE2JTIyJTBBJTIwJTIwJTdEJTBBJTVEJTBBJTBBJTIzJTIwbW9kaWZpZWQlMEElMjJ1bmV0JTIyJTNBJTIwJTVCJTBBJTIwJTIwbnVsbCUyQyUyMG51bGwlMkMlMEElMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjJyZXBvJTIyJTNBJTIwJTIyUnVuRGlmZnVzaW9uJTJGSnVnZ2VybmF1dC1YTC12OSUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMnN1YmZvbGRlciUyMiUzQSUyMCUyMnVuZXQlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjJ2YXJpYW50JTIyJTNBJTIwJTIyZnAxNiUyMiUwQSUyMCUyMCU3RCUwQSU1RA==",highlighted:`# original
<span class="hljs-attr">&quot;unet&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
  <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span> <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span>
  <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;repo&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;stabilityai/stable-diffusion-xl-base-1.0&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;subfolder&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;unet&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;variant&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;fp16&quot;</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span>

# modified
<span class="hljs-attr">&quot;unet&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
  <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span> <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span>
  <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;repo&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;RunDiffusion/Juggernaut-XL-v9&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;subfolder&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;unet&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;variant&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;fp16&quot;</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span>`,wrap:!1}}),se=new V({props:{title:"Component loading status",local:"component-loading-status",headingTag:"h3"}}),ne=new Z({props:{code:"dDJpX3BpcGVsaW5lLmNvbXBvbmVudF9uYW1lcyUwQSU1Qid0ZXh0X2VuY29kZXInJTJDJTIwJ3RleHRfZW5jb2Rlcl8yJyUyQyUyMCd0b2tlbml6ZXInJTJDJTIwJ3Rva2VuaXplcl8yJyUyQyUyMCdndWlkZXInJTJDJTIwJ3NjaGVkdWxlciclMkMlMjAndW5ldCclMkMlMjAndmFlJyUyQyUyMCdpbWFnZV9wcm9jZXNzb3InJTVE",highlighted:`t2i_pipeline.component_names
[<span class="hljs-string">&#x27;text_encoder&#x27;</span>, <span class="hljs-string">&#x27;text_encoder_2&#x27;</span>, <span class="hljs-string">&#x27;tokenizer&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_2&#x27;</span>, <span class="hljs-string">&#x27;guider&#x27;</span>, <span class="hljs-string">&#x27;scheduler&#x27;</span>, <span class="hljs-string">&#x27;unet&#x27;</span>, <span class="hljs-string">&#x27;vae&#x27;</span>, <span class="hljs-string">&#x27;image_processor&#x27;</span>]`,wrap:!1}}),ie=new Z({props:{code:"dDJpX3BpcGVsaW5lLm51bGxfY29tcG9uZW50X25hbWVzJTBBJTVCJ3RleHRfZW5jb2RlciclMkMlMjAndGV4dF9lbmNvZGVyXzInJTJDJTIwJ3Rva2VuaXplciclMkMlMjAndG9rZW5pemVyXzInJTJDJTIwJ3NjaGVkdWxlciclNUQ=",highlighted:`t2i_pipeline.null_component_names
[<span class="hljs-string">&#x27;text_encoder&#x27;</span>, <span class="hljs-string">&#x27;text_encoder_2&#x27;</span>, <span class="hljs-string">&#x27;tokenizer&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_2&#x27;</span>, <span class="hljs-string">&#x27;scheduler&#x27;</span>]`,wrap:!1}}),oe=new Z({props:{code:"dDJpX3BpcGVsaW5lLnByZXRyYWluZWRfY29tcG9uZW50X25hbWVzJTBBJTVCJ3RleHRfZW5jb2RlciclMkMlMjAndGV4dF9lbmNvZGVyXzInJTJDJTIwJ3Rva2VuaXplciclMkMlMjAndG9rZW5pemVyXzInJTJDJTIwJ3NjaGVkdWxlciclMkMlMjAndW5ldCclMkMlMjAndmFlJyU1RA==",highlighted:`t2i_pipeline.pretrained_component_names
[<span class="hljs-string">&#x27;text_encoder&#x27;</span>, <span class="hljs-string">&#x27;text_encoder_2&#x27;</span>, <span class="hljs-string">&#x27;tokenizer&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_2&#x27;</span>, <span class="hljs-string">&#x27;scheduler&#x27;</span>, <span class="hljs-string">&#x27;unet&#x27;</span>, <span class="hljs-string">&#x27;vae&#x27;</span>]`,wrap:!1}}),me=new Z({props:{code:"dDJpX3BpcGVsaW5lLmNvbmZpZ19jb21wb25lbnRfbmFtZXMlMEElNUInZ3VpZGVyJyUyQyUyMCdpbWFnZV9wcm9jZXNzb3InJTVE",highlighted:`t2i_pipeline.config_component_names
[<span class="hljs-string">&#x27;guider&#x27;</span>, <span class="hljs-string">&#x27;image_processor&#x27;</span>]`,wrap:!1}}),ce=new V({props:{title:"Updating components",local:"updating-components",headingTag:"h2"}}),X=new gt({props:{warning:!0,$$slots:{default:[Ft]},$$scope:{ctx:j}}}),ye=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENvbXBvbmVudFNwZWMlMkMlMjBVTmV0MkRDb25kaXRpb25Nb2RlbCUwQSUwQXVuZXRfc3BlYyUyMCUzRCUyMENvbXBvbmVudFNwZWMobmFtZSUzRCUyMnVuZXQlMjIlMkN0eXBlX2hpbnQlM0RVTmV0MkRDb25kaXRpb25Nb2RlbCUyQyUyMHJlcG8lM0QlMjJzdGFiaWxpdHlhaSUyRnN0YWJsZS1kaWZmdXNpb24teGwtYmFzZS0xLjAlMjIlMkMlMjBzdWJmb2xkZXIlM0QlMjJ1bmV0JTIyJTJDJTIwdmFyaWFudCUzRCUyMmZwMTYlMjIpJTBBdW5ldCUyMCUzRCUyMHVuZXRfc3BlYy5sb2FkKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNik=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ComponentSpec, UNet2DConditionModel

unet_spec = ComponentSpec(name=<span class="hljs-string">&quot;unet&quot;</span>,type_hint=UNet2DConditionModel, repo=<span class="hljs-string">&quot;stabilityai/stable-diffusion-xl-base-1.0&quot;</span>, subfolder=<span class="hljs-string">&quot;unet&quot;</span>, variant=<span class="hljs-string">&quot;fp16&quot;</span>)
unet = unet_spec.load(torch_dtype=torch.float16)`,wrap:!1}}),be=new Z({props:{code:"dDJpX3BpcGVsaW5lLnVwZGF0ZV9jb21wb25lbnRzKHVuZXQlM0R1bmV0Mik=",highlighted:"t2i_pipeline.update_components(unet=unet2)",wrap:!1}}),Te=new V({props:{title:"Component extraction and modification",local:"component-extraction-and-modification",headingTag:"h3"}}),$e=new Z({props:{code:"c3BlYyUyMCUzRCUyMENvbXBvbmVudFNwZWMuZnJvbV9jb21wb25lbnQoJTIydW5ldCUyMiUyQyUyMHVuZXQyKSUwQXNwZWMlMEFDb21wb25lbnRTcGVjKG5hbWUlM0QndW5ldCclMkMlMjB0eXBlX2hpbnQlM0QlM0NjbGFzcyUyMCdkaWZmdXNlcnMubW9kZWxzLnVuZXRzLnVuZXRfMmRfY29uZGl0aW9uLlVOZXQyRENvbmRpdGlvbk1vZGVsJyUzRSUyQyUyMGRlc2NyaXB0aW9uJTNETm9uZSUyQyUyMGNvbmZpZyUzRE5vbmUlMkMlMjByZXBvJTNEJ3N0YWJpbGl0eWFpJTJGc3RhYmxlLWRpZmZ1c2lvbi14bC1iYXNlLTEuMCclMkMlMjBzdWJmb2xkZXIlM0QndW5ldCclMkMlMjB2YXJpYW50JTNEJ2ZwMTYnJTJDJTIwcmV2aXNpb24lM0ROb25lJTJDJTIwZGVmYXVsdF9jcmVhdGlvbl9tZXRob2QlM0QnZnJvbV9wcmV0cmFpbmVkJyklMEF1bmV0Ml9yZWNyZWF0ZWQlMjAlM0QlMjBzcGVjLmxvYWQodG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KQ==",highlighted:`spec = ComponentSpec.from_component(<span class="hljs-string">&quot;unet&quot;</span>, unet2)
spec
ComponentSpec(name=<span class="hljs-string">&#x27;unet&#x27;</span>, type_hint=&lt;<span class="hljs-keyword">class</span> <span class="hljs-string">&#x27;diffusers.models.unets.unet_2d_condition.UNet2DConditionModel&#x27;</span>&gt;, description=<span class="hljs-literal">None</span>, config=<span class="hljs-literal">None</span>, repo=<span class="hljs-string">&#x27;stabilityai/stable-diffusion-xl-base-1.0&#x27;</span>, subfolder=<span class="hljs-string">&#x27;unet&#x27;</span>, variant=<span class="hljs-string">&#x27;fp16&#x27;</span>, revision=<span class="hljs-literal">None</span>, default_creation_method=<span class="hljs-string">&#x27;from_pretrained&#x27;</span>)
unet2_recreated = spec.load(torch_dtype=torch.float16)`,wrap:!1}}),Ue=new Z({props:{code:"dW5ldF9zcGVjJTIwJTNEJTIwdDJpX3BpcGVsaW5lLmdldF9jb21wb25lbnRfc3BlYyglMjJ1bmV0JTIyKSUwQXVuZXRfc3BlYyUwQUNvbXBvbmVudFNwZWMoJTBBJTIwJTIwJTIwJTIwbmFtZSUzRCd1bmV0JyUyQyUwQSUyMCUyMCUyMCUyMHR5cGVfaGludCUzRCUzQ2NsYXNzJTIwJ2RpZmZ1c2Vycy5tb2RlbHMudW5ldHMudW5ldF8yZF9jb25kaXRpb24uVU5ldDJEQ29uZGl0aW9uTW9kZWwnJTNFJTJDJTBBJTIwJTIwJTIwJTIwcmVwbyUzRCdSdW5EaWZmdXNpb24lMkZKdWdnZXJuYXV0LVhMLXY5JyUyQyUwQSUyMCUyMCUyMCUyMHN1YmZvbGRlciUzRCd1bmV0JyUyQyUwQSUyMCUyMCUyMCUyMHZhcmlhbnQlM0QnZnAxNiclMkMlMEElMjAlMjAlMjAlMjBkZWZhdWx0X2NyZWF0aW9uX21ldGhvZCUzRCdmcm9tX3ByZXRyYWluZWQnJTBBKSUwQSUwQSUyMyUyMG1vZGlmeSUyMHRvJTIwbG9hZCUyMGZyb20lMjBhJTIwZGlmZmVyZW50JTIwcmVwb3NpdG9yeSUwQXVuZXRfc3BlYy5yZXBvJTIwJTNEJTIwJTIyc3RhYmlsaXR5YWklMkZzdGFibGUtZGlmZnVzaW9uLXhsLWJhc2UtMS4wJTIyJTBBJTBBJTIzJTIwbG9hZCUyMGNvbXBvbmVudCUyMHdpdGglMjBtb2RpZmllZCUyMHNwZWMlMEF1bmV0JTIwJTNEJTIwdW5ldF9zcGVjLmxvYWQodG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KQ==",highlighted:`unet_spec = t2i_pipeline.get_component_spec(<span class="hljs-string">&quot;unet&quot;</span>)
unet_spec
ComponentSpec(
    name=<span class="hljs-string">&#x27;unet&#x27;</span>,
    type_hint=&lt;<span class="hljs-keyword">class</span> <span class="hljs-string">&#x27;diffusers.models.unets.unet_2d_condition.UNet2DConditionModel&#x27;</span>&gt;,
    repo=<span class="hljs-string">&#x27;RunDiffusion/Juggernaut-XL-v9&#x27;</span>,
    subfolder=<span class="hljs-string">&#x27;unet&#x27;</span>,
    variant=<span class="hljs-string">&#x27;fp16&#x27;</span>,
    default_creation_method=<span class="hljs-string">&#x27;from_pretrained&#x27;</span>
)

<span class="hljs-comment"># modify to load from a different repository</span>
unet_spec.repo = <span class="hljs-string">&quot;stabilityai/stable-diffusion-xl-base-1.0&quot;</span>

<span class="hljs-comment"># load component with modified spec</span>
unet = unet_spec.load(torch_dtype=torch.float16)`,wrap:!1}}),Ze=new V({props:{title:"Modular repository",local:"modular-repository",headingTag:"h2"}}),Be=new Z({props:{code:"bW9kdWxhci1kaWZmZGlmZi0wNzA0JTJGJTBBJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwYmxvY2sucHklMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBDdXN0b20lMjBwaXBlbGluZSUyMGJsb2NrcyUyMGltcGxlbWVudGF0aW9uJTBBJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwY29uZmlnLmpzb24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBQaXBlbGluZSUyMGNvbmZpZ3VyYXRpb24lMjBhbmQlMjBhdXRvX21hcCUwQSVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMG1vZHVsYXJfbW9kZWxfaW5kZXguanNvbiUyMCUyMCUyMCUyMCUyMyUyMENvbXBvbmVudCUyMGxvYWRpbmclMjBzcGVjaWZpY2F0aW9ucw==",highlighted:`modular-<span class="hljs-keyword">diffdiff-0704/
</span>├── <span class="hljs-keyword">block.py </span>                   <span class="hljs-comment"># Custom pipeline blocks implementation</span>
├── <span class="hljs-built_in">config</span>.<span class="hljs-keyword">json </span>                <span class="hljs-comment"># Pipeline configuration and auto_map</span>
└── modular_model_index.<span class="hljs-keyword">json </span>   <span class="hljs-comment"># Component loading specifications</span>`,wrap:!1}}),xe=new Z({props:{code:"JTdCJTBBJTIwJTIwJTIyX2NsYXNzX25hbWUlMjIlM0ElMjAlMjJEaWZmRGlmZkJsb2NrcyUyMiUyQyUwQSUyMCUyMCUyMmF1dG9fbWFwJTIyJTNBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIyTW9kdWxhclBpcGVsaW5lQmxvY2tzJTIyJTNBJTIwJTIyYmxvY2suRGlmZkRpZmZCbG9ja3MlMjIlMEElMjAlMjAlN0QlMEElN0Q=",highlighted:`<span class="hljs-punctuation">{</span>
  <span class="hljs-attr">&quot;_class_name&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;DiffDiffBlocks&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;auto_map&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;ModularPipelineBlocks&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;block.DiffDiffBlocks&quot;</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>`,wrap:!1}}),Xe=new xt({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/modular_diffusers/modular_pipeline.md"}}),{c(){n=J("meta"),c=p(),a=J("p"),m=p(),u(i.$$.fragment),r=p(),d=J("p"),d.innerHTML=U,g=p(),_=J("p"),_.innerHTML=$,G=p(),u(k.$$.fragment),Ie=p(),v=J("p"),v.innerHTML=Hs,Re=p(),u(I.$$.fragment),Ye=p(),R=J("p"),R.innerHTML=Ss,Ne=p(),Y=J("p"),Y.innerHTML=Fs,Qe=p(),u(N.$$.fragment),ze=p(),Q=J("p"),Q.innerHTML=Es,He=p(),u(z.$$.fragment),Se=p(),H=J("p"),H.textContent=Ls,Fe=p(),u(S.$$.fragment),Ee=p(),u(F.$$.fragment),Le=p(),E=J("p"),E.innerHTML=qs,qe=p(),L=J("p"),L.innerHTML=As,Ae=p(),u(B.$$.fragment),Pe=p(),u(C.$$.fragment),De=p(),u(q.$$.fragment),Ke=p(),A=J("p"),A.innerHTML=Ps,Oe=p(),u(x.$$.fragment),es=p(),P=J("p"),P.textContent=Ds,ss=p(),u(D.$$.fragment),ts=p(),K=J("p"),K.innerHTML=Ks,ls=p(),O=J("p"),O.innerHTML=Os,ns=p(),u(ee.$$.fragment),as=p(),u(se.$$.fragment),is=p(),te=J("p"),te.textContent=et,ps=p(),le=J("p"),le.innerHTML=st,os=p(),u(ne.$$.fragment),rs=p(),ae=J("p"),ae.innerHTML=tt,ms=p(),u(ie.$$.fragment),cs=p(),pe=J("p"),pe.innerHTML=lt,ds=p(),u(oe.$$.fragment),us=p(),re=J("p"),re.innerHTML=nt,fs=p(),u(me.$$.fragment),Ms=p(),u(ce.$$.fragment),ys=p(),de=J("p"),de.innerHTML=at,hs=p(),u(X.$$.fragment),bs=p(),ue=J("p"),ue.innerHTML=it,Js=p(),fe=J("p"),fe.innerHTML=pt,Ts=p(),Me=J("p"),Me.innerHTML=ot,ws=p(),u(ye.$$.fragment),$s=p(),he=J("p"),he.innerHTML=rt,js=p(),u(be.$$.fragment),Us=p(),Je=J("p"),Je.textContent=mt,Zs=p(),u(Te.$$.fragment),gs=p(),we=J("p"),we.innerHTML=ct,_s=p(),u($e.$$.fragment),Gs=p(),je=J("p"),je.innerHTML=dt,Ws=p(),u(Ue.$$.fragment),ks=p(),u(Ze.$$.fragment),Bs=p(),ge=J("p"),ge.innerHTML=ut,Cs=p(),_e=J("p"),_e.innerHTML=ft,xs=p(),Ge=J("ul"),Ge.innerHTML=Mt,Xs=p(),We=J("p"),We.innerHTML=yt,Vs=p(),ke=J("p"),ke.innerHTML=ht,vs=p(),u(Be.$$.fragment),Is=p(),Ce=J("p"),Ce.innerHTML=bt,Rs=p(),u(xe.$$.fragment),Ys=p(),u(Xe.$$.fragment),Ns=p(),ve=J("p"),this.h()},l(e){const s=Bt("svelte-u9bgzb",document.head);n=T(s,"META",{name:!0,content:!0}),s.forEach(t),c=o(e),a=T(e,"P",{}),Ut(a).forEach(t),m=o(e),f(i.$$.fragment,e),r=o(e),d=T(e,"P",{"data-svelte-h":!0}),w(d)!=="svelte-1m5w318"&&(d.innerHTML=U),g=o(e),_=T(e,"P",{"data-svelte-h":!0}),w(_)!=="svelte-i5jg24"&&(_.innerHTML=$),G=o(e),f(k.$$.fragment,e),Ie=o(e),v=T(e,"P",{"data-svelte-h":!0}),w(v)!=="svelte-6rrv95"&&(v.innerHTML=Hs),Re=o(e),f(I.$$.fragment,e),Ye=o(e),R=T(e,"P",{"data-svelte-h":!0}),w(R)!=="svelte-mujuz3"&&(R.innerHTML=Ss),Ne=o(e),Y=T(e,"P",{"data-svelte-h":!0}),w(Y)!=="svelte-zqhodf"&&(Y.innerHTML=Fs),Qe=o(e),f(N.$$.fragment,e),ze=o(e),Q=T(e,"P",{"data-svelte-h":!0}),w(Q)!=="svelte-1ifd08m"&&(Q.innerHTML=Es),He=o(e),f(z.$$.fragment,e),Se=o(e),H=T(e,"P",{"data-svelte-h":!0}),w(H)!=="svelte-1nq3m3c"&&(H.textContent=Ls),Fe=o(e),f(S.$$.fragment,e),Ee=o(e),f(F.$$.fragment,e),Le=o(e),E=T(e,"P",{"data-svelte-h":!0}),w(E)!=="svelte-m27xa5"&&(E.innerHTML=qs),qe=o(e),L=T(e,"P",{"data-svelte-h":!0}),w(L)!=="svelte-6mb94g"&&(L.innerHTML=As),Ae=o(e),f(B.$$.fragment,e),Pe=o(e),f(C.$$.fragment,e),De=o(e),f(q.$$.fragment,e),Ke=o(e),A=T(e,"P",{"data-svelte-h":!0}),w(A)!=="svelte-grw516"&&(A.innerHTML=Ps),Oe=o(e),f(x.$$.fragment,e),es=o(e),P=T(e,"P",{"data-svelte-h":!0}),w(P)!=="svelte-1061sb5"&&(P.textContent=Ds),ss=o(e),f(D.$$.fragment,e),ts=o(e),K=T(e,"P",{"data-svelte-h":!0}),w(K)!=="svelte-dlvpfi"&&(K.innerHTML=Ks),ls=o(e),O=T(e,"P",{"data-svelte-h":!0}),w(O)!=="svelte-ze9gpp"&&(O.innerHTML=Os),ns=o(e),f(ee.$$.fragment,e),as=o(e),f(se.$$.fragment,e),is=o(e),te=T(e,"P",{"data-svelte-h":!0}),w(te)!=="svelte-tncgcu"&&(te.textContent=et),ps=o(e),le=T(e,"P",{"data-svelte-h":!0}),w(le)!=="svelte-1n7f6wy"&&(le.innerHTML=st),os=o(e),f(ne.$$.fragment,e),rs=o(e),ae=T(e,"P",{"data-svelte-h":!0}),w(ae)!=="svelte-12q9nz6"&&(ae.innerHTML=tt),ms=o(e),f(ie.$$.fragment,e),cs=o(e),pe=T(e,"P",{"data-svelte-h":!0}),w(pe)!=="svelte-186jghx"&&(pe.innerHTML=lt),ds=o(e),f(oe.$$.fragment,e),us=o(e),re=T(e,"P",{"data-svelte-h":!0}),w(re)!=="svelte-14wppcr"&&(re.innerHTML=nt),fs=o(e),f(me.$$.fragment,e),Ms=o(e),f(ce.$$.fragment,e),ys=o(e),de=T(e,"P",{"data-svelte-h":!0}),w(de)!=="svelte-10f47tp"&&(de.innerHTML=at),hs=o(e),f(X.$$.fragment,e),bs=o(e),ue=T(e,"P",{"data-svelte-h":!0}),w(ue)!=="svelte-6lbp1r"&&(ue.innerHTML=it),Js=o(e),fe=T(e,"P",{"data-svelte-h":!0}),w(fe)!=="svelte-11i7zfa"&&(fe.innerHTML=pt),Ts=o(e),Me=T(e,"P",{"data-svelte-h":!0}),w(Me)!=="svelte-1nqkxht"&&(Me.innerHTML=ot),ws=o(e),f(ye.$$.fragment,e),$s=o(e),he=T(e,"P",{"data-svelte-h":!0}),w(he)!=="svelte-pkrvtp"&&(he.innerHTML=rt),js=o(e),f(be.$$.fragment,e),Us=o(e),Je=T(e,"P",{"data-svelte-h":!0}),w(Je)!=="svelte-1tjewkw"&&(Je.textContent=mt),Zs=o(e),f(Te.$$.fragment,e),gs=o(e),we=T(e,"P",{"data-svelte-h":!0}),w(we)!=="svelte-19j06lv"&&(we.innerHTML=ct),_s=o(e),f($e.$$.fragment,e),Gs=o(e),je=T(e,"P",{"data-svelte-h":!0}),w(je)!=="svelte-18jvucs"&&(je.innerHTML=dt),Ws=o(e),f(Ue.$$.fragment,e),ks=o(e),f(Ze.$$.fragment,e),Bs=o(e),ge=T(e,"P",{"data-svelte-h":!0}),w(ge)!=="svelte-7e3y9a"&&(ge.innerHTML=ut),Cs=o(e),_e=T(e,"P",{"data-svelte-h":!0}),w(_e)!=="svelte-13gpg4p"&&(_e.innerHTML=ft),xs=o(e),Ge=T(e,"UL",{"data-svelte-h":!0}),w(Ge)!=="svelte-1t814mj"&&(Ge.innerHTML=Mt),Xs=o(e),We=T(e,"P",{"data-svelte-h":!0}),w(We)!=="svelte-278bgf"&&(We.innerHTML=yt),Vs=o(e),ke=T(e,"P",{"data-svelte-h":!0}),w(ke)!=="svelte-1n3gbmr"&&(ke.innerHTML=ht),vs=o(e),f(Be.$$.fragment,e),Is=o(e),Ce=T(e,"P",{"data-svelte-h":!0}),w(Ce)!=="svelte-1o6htac"&&(Ce.innerHTML=bt),Rs=o(e),f(xe.$$.fragment,e),Ys=o(e),f(Xe.$$.fragment,e),Ns=o(e),ve=T(e,"P",{}),Ut(ve).forEach(t),this.h()},h(){Zt(n,"name","hf:doc:metadata"),Zt(n,"content",Lt)},m(e,s){Ct(document.head,n),l(e,c,s),l(e,a,s),l(e,m,s),M(i,e,s),l(e,r,s),l(e,d,s),l(e,g,s),l(e,_,s),l(e,G,s),M(k,e,s),l(e,Ie,s),l(e,v,s),l(e,Re,s),M(I,e,s),l(e,Ye,s),l(e,R,s),l(e,Ne,s),l(e,Y,s),l(e,Qe,s),M(N,e,s),l(e,ze,s),l(e,Q,s),l(e,He,s),M(z,e,s),l(e,Se,s),l(e,H,s),l(e,Fe,s),M(S,e,s),l(e,Ee,s),M(F,e,s),l(e,Le,s),l(e,E,s),l(e,qe,s),l(e,L,s),l(e,Ae,s),M(B,e,s),l(e,Pe,s),M(C,e,s),l(e,De,s),M(q,e,s),l(e,Ke,s),l(e,A,s),l(e,Oe,s),M(x,e,s),l(e,es,s),l(e,P,s),l(e,ss,s),M(D,e,s),l(e,ts,s),l(e,K,s),l(e,ls,s),l(e,O,s),l(e,ns,s),M(ee,e,s),l(e,as,s),M(se,e,s),l(e,is,s),l(e,te,s),l(e,ps,s),l(e,le,s),l(e,os,s),M(ne,e,s),l(e,rs,s),l(e,ae,s),l(e,ms,s),M(ie,e,s),l(e,cs,s),l(e,pe,s),l(e,ds,s),M(oe,e,s),l(e,us,s),l(e,re,s),l(e,fs,s),M(me,e,s),l(e,Ms,s),M(ce,e,s),l(e,ys,s),l(e,de,s),l(e,hs,s),M(X,e,s),l(e,bs,s),l(e,ue,s),l(e,Js,s),l(e,fe,s),l(e,Ts,s),l(e,Me,s),l(e,ws,s),M(ye,e,s),l(e,$s,s),l(e,he,s),l(e,js,s),M(be,e,s),l(e,Us,s),l(e,Je,s),l(e,Zs,s),M(Te,e,s),l(e,gs,s),l(e,we,s),l(e,_s,s),M($e,e,s),l(e,Gs,s),l(e,je,s),l(e,Ws,s),M(Ue,e,s),l(e,ks,s),M(Ze,e,s),l(e,Bs,s),l(e,ge,s),l(e,Cs,s),l(e,_e,s),l(e,xs,s),l(e,Ge,s),l(e,Xs,s),l(e,We,s),l(e,Vs,s),l(e,ke,s),l(e,vs,s),M(Be,e,s),l(e,Is,s),l(e,Ce,s),l(e,Rs,s),M(xe,e,s),l(e,Ys,s),M(Xe,e,s),l(e,Ns,s),l(e,ve,s),Qs=!0},p(e,[s]){const Jt={};s&2&&(Jt.$$scope={dirty:s,ctx:e}),k.$set(Jt);const Tt={};s&2&&(Tt.$$scope={dirty:s,ctx:e}),B.$set(Tt);const wt={};s&2&&(wt.$$scope={dirty:s,ctx:e}),C.$set(wt);const $t={};s&2&&($t.$$scope={dirty:s,ctx:e}),x.$set($t);const jt={};s&2&&(jt.$$scope={dirty:s,ctx:e}),X.$set(jt)},i(e){Qs||(y(i.$$.fragment,e),y(k.$$.fragment,e),y(I.$$.fragment,e),y(N.$$.fragment,e),y(z.$$.fragment,e),y(S.$$.fragment,e),y(F.$$.fragment,e),y(B.$$.fragment,e),y(C.$$.fragment,e),y(q.$$.fragment,e),y(x.$$.fragment,e),y(D.$$.fragment,e),y(ee.$$.fragment,e),y(se.$$.fragment,e),y(ne.$$.fragment,e),y(ie.$$.fragment,e),y(oe.$$.fragment,e),y(me.$$.fragment,e),y(ce.$$.fragment,e),y(X.$$.fragment,e),y(ye.$$.fragment,e),y(be.$$.fragment,e),y(Te.$$.fragment,e),y($e.$$.fragment,e),y(Ue.$$.fragment,e),y(Ze.$$.fragment,e),y(Be.$$.fragment,e),y(xe.$$.fragment,e),y(Xe.$$.fragment,e),Qs=!0)},o(e){h(i.$$.fragment,e),h(k.$$.fragment,e),h(I.$$.fragment,e),h(N.$$.fragment,e),h(z.$$.fragment,e),h(S.$$.fragment,e),h(F.$$.fragment,e),h(B.$$.fragment,e),h(C.$$.fragment,e),h(q.$$.fragment,e),h(x.$$.fragment,e),h(D.$$.fragment,e),h(ee.$$.fragment,e),h(se.$$.fragment,e),h(ne.$$.fragment,e),h(ie.$$.fragment,e),h(oe.$$.fragment,e),h(me.$$.fragment,e),h(ce.$$.fragment,e),h(X.$$.fragment,e),h(ye.$$.fragment,e),h(be.$$.fragment,e),h(Te.$$.fragment,e),h($e.$$.fragment,e),h(Ue.$$.fragment,e),h(Ze.$$.fragment,e),h(Be.$$.fragment,e),h(xe.$$.fragment,e),h(Xe.$$.fragment,e),Qs=!1},d(e){e&&(t(c),t(a),t(m),t(r),t(d),t(g),t(_),t(G),t(Ie),t(v),t(Re),t(Ye),t(R),t(Ne),t(Y),t(Qe),t(ze),t(Q),t(He),t(Se),t(H),t(Fe),t(Ee),t(Le),t(E),t(qe),t(L),t(Ae),t(Pe),t(De),t(Ke),t(A),t(Oe),t(es),t(P),t(ss),t(ts),t(K),t(ls),t(O),t(ns),t(as),t(is),t(te),t(ps),t(le),t(os),t(rs),t(ae),t(ms),t(cs),t(pe),t(ds),t(us),t(re),t(fs),t(Ms),t(ys),t(de),t(hs),t(bs),t(ue),t(Js),t(fe),t(Ts),t(Me),t(ws),t($s),t(he),t(js),t(Us),t(Je),t(Zs),t(gs),t(we),t(_s),t(Gs),t(je),t(Ws),t(ks),t(Bs),t(ge),t(Cs),t(_e),t(xs),t(Ge),t(Xs),t(We),t(Vs),t(ke),t(vs),t(Is),t(Ce),t(Rs),t(Ys),t(Ns),t(ve)),t(n),b(i,e),b(k,e),b(I,e),b(N,e),b(z,e),b(S,e),b(F,e),b(B,e),b(C,e),b(q,e),b(x,e),b(D,e),b(ee,e),b(se,e),b(ne,e),b(ie,e),b(oe,e),b(me,e),b(ce,e),b(X,e),b(ye,e),b(be,e),b(Te,e),b($e,e),b(Ue,e),b(Ze,e),b(Be,e),b(xe,e),b(Xe,e)}}}const Lt='{"title":"ModularPipeline","local":"modularpipeline","sections":[{"title":"Adding blocks","local":"adding-blocks","sections":[],"depth":2},{"title":"Creating a pipeline","local":"creating-a-pipeline","sections":[],"depth":2},{"title":"Loading components","local":"loading-components","sections":[{"title":"Component loading status","local":"component-loading-status","sections":[],"depth":3}],"depth":2},{"title":"Updating components","local":"updating-components","sections":[{"title":"Component extraction and modification","local":"component-extraction-and-modification","sections":[],"depth":3}],"depth":2},{"title":"Modular repository","local":"modular-repository","sections":[],"depth":2}],"depth":1}';function qt(j){return Gt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class sl extends Wt{constructor(n){super(),kt(this,n,qt,Et,_t,{})}}export{sl as component};
